一个操作,轻松迁移 Maven 至 Gradle_pom转gradle-程序员宅基地

技术标签: gradle  java  maven  Java / Kotlin 二三事  

今天我们来讲讲如何将 Maven 项目转换为 Gradle 项目。 这个过程还是蛮简单的,下面通过一个例子来说明怎么转换。

Gradle 设置

如果没有安装 gradle, 我们可以从 Gradle 官网下载最新的版本,根据gradle官方的文档安装即可。 可以看我们之前的文章,这里不过多的描述。

Maven pom

假设我们有这样一个 maven项目,pom.xml 文件如下:

<project xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>cn.javanorth</groupId>
    <artifactId>maven-to-gradle</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <dependencies>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>3.12.0</version>
        </dependency>
    </dependencies>
</project>

有了maven项目,也安装了gradle,那我们就可以动手转换到gradle了。

执行 gadle init

我们在终端跳转到Maven项目的根目录,就是包含pom.xml 文件的目录, 然后执行 gradle init 命令。从终端响应结果从输入yes 并按回车健。

$ gradle init

Found a Maven build. Generate a Gradle build from this? (default: yes) [yes, no] yes


> Task :init
Maven to Gradle conversion is an incubating feature.
Get more help with your project: https://docs.gradle.org/7.3/userguide/migrating_from_maven.html

BUILD SUCCESSFUL in 3s
2 actionable tasks: 2 executed

生成的Gradle构建文件

现在让我们重新检查一下我们项目的根目录的内容。我们应该在根目录中看到一些新文件,下面我们展开讲讲这几个文件的用处。

build.gradle

build.gradle 文件是Gradle构建过程的核心组件,它直接等同于Maven构建的pom.xml文件。我们可以看到pom.xml中的依赖属性,如groupId、version、dependencies,会有一些对应的gradle属性与之关联。

另外还有sourceCompatibility属性,它是用于告诉我们在编译Java时要使用哪个Java版本。

插件部分, java是为构建任何类型的Java项目提供支持,而 maven-publish 是为发布项目到Maven兼容的仓库提供支持。

/*
 * This file was generated by the Gradle 'init' task.
 */

plugins {
    
    id 'java'
    id 'maven-publish'
}

repositories {
    
    mavenLocal()
    maven {
    
        url = uri('https://repo.maven.apache.org/maven2/')
    }
}

dependencies {
    
    implementation 'org.apache.commons:commons-lang3:3.12.0'
}

group = 'cn.javanorth'
version = '0.0.1-SNAPSHOT'
description = 'maven-to-gradle'
java.sourceCompatibility = JavaVersion.VERSION_1_8

publishing {
    
    publications {
    
        maven(MavenPublication) {
    
            from(components.java)
        }
    }
}
settings.gradle

Gradle在初始化过程中是通过使用settings.gradle文件来配置并确定哪些项目被包含在此次构建中。

/*
 * This file was generated by the Gradle 'init' task.
 */

rootProject.name = 'maven-to-gradle'
gradlew 和 gradlew.bat

Gradle还生成了两个启动脚本,gradlew.bat 用于Windows,而gradlew用于Unix和Linux的环境,这些脚本也可以在没有设置Gradle的机器上运行项目,它会自动下载gradle wrapper来运行。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/wbf1013/article/details/128186102

智能推荐

【vue2高德地图api】高德地图forEach批量添加marker点标记,点击获取item对象『全网最详细』【翻遍csdn总结】_vue 高德地图 多个maker-程序员宅基地

文章浏览阅读1.6k次。我的需求getList获取数据,然后把经纬度,写入到页面中,点击marker标记 可以获得该项数据,例如name或者id之类的。页面已经展示,只看加marker标记点,跳过一、二_vue 高德地图 多个maker

elementui新增或修改时,el-upload上传组件回显预览删除(el-upload上传图片base64给后端)_el-upload 清除预览-程序员宅基地

文章浏览阅读4.6k次。elementui新增或修改时,el-upload上传组件回显预览删除(el-upload上传图片base64给后端)addOrUpdate.vue新增或修改时,修改需要可以回显图片,上传图片后要可以预览以及删除。_el-upload 清除预览

3D知识:3D电影的技术原理及制作流程-程序员宅基地

文章浏览阅读1.6k次。3D知识:3D电影的技术原理及制作流程3D电影,即立体电影,1952年,世界电影史上第一部真正的3D电影《非洲历险记》诞生。此后,虽然3D电影的技术以及电影制作都在得到蓬勃的发展,但是直到1982年的《黑色星期五》才让3D电影真正复苏。80年代期间,好莱坞出现了不少3D电影,如《大白鲨3》、《魔晶战士》等,但都由于其质量的问题,没有取得预期中的良好效果。3D电影《异星..._1.查询3d电影有史以来各个时期的制作原理

java非负整数_(java)leetcode258 各位相加(给定一个非负整数 num,反复将各个位上的数字相加,直到结果为一位数。)(Add Digit)...-程序员宅基地

文章浏览阅读320次。题目描述:给定一个非负整数num,反复将各个位上的数字相加,直到结果为一位数。示例:输入: 38输出: 2解释: 各位相加的过程为:3 + 8 = 11, 1 + 1 = 2。 由于 2 是一位数,所以返回 2。解题思路:直接循环取出每一位上的数字,求和后,判断是否满足结束条件,若不满足,则继续对求和后的数字计算,知道满足条件为止。代码实现(java):class Solution {publi..._java 给定一个代表每个格子得分的非负整数数组,计算能够得到的

java 字节码指令_java 7e 01 0c 00 4b-程序员宅基地

文章浏览阅读730次。转:http://blog.csdn.net/coslay/article/details/43131645字节码格式字节码是JVM的机器语言。JVM加载类文件时,对类中的每个方法,它都会得到一个字节码流。这些字节码流保存在JVM的方法区中。在程序运行过程中,当一个方法被调用时,它的字节码流就会被执行。根据特定JVM设计者的选择,它们可以通过解释的方式,即时编译(Jus_java 7e 01 0c 00 4b

阿里云服务器默认初始密码是多少?_刚买的阿里云linux 密码多少-程序员宅基地

文章浏览阅读638次,点赞24次,收藏22次。​​默认密码是什么?没有默认密码,通过重置密码的方式来设置新的密码。阿里云服务器默认用户名Linux系统是root,Windows系统是administrator。阿里云服务器默认密码阿里云服务器没有默认密码,购买云服务器时没有创建密码,那么云服务器就没有密码。想要远程登录云服务器,需要先通过重置实例密码的方式来设置新的密码,然后通过设置的密码的登录。阿里云服务器没有默认密码阿里云服务器没有默认密码。_刚买的阿里云linux 密码多少

随便推点

Stm32f103c8t6(proteus仿真)学习——7-1.PWM驱动LED呼吸灯-程序员宅基地

文章浏览阅读1.7k次,点赞6次,收藏22次。7-1 PWM驱动LED呼吸灯

Java 线程池之线程返回值-程序员宅基地

文章浏览阅读5.3k次,点赞3次,收藏16次。前言通常来说,开启线程能够提高程序的并发能力,而Thread 类里并没有任何方法可以获取到线程的执行结果。接下来,我们将一步步分析如何拿到线程的执行结果。通过本篇文章,你将了解到:1、原始方式 获取线程执行结果2、FutureTask 获取线程执行结果3、线程池 获取线程执行结果1、原始方式 获取线程执行结果public class ThreadRet { private int sum = 0; public static void main(String args[]

DFS深度优先搜索-程序员宅基地

文章浏览阅读9.1k次,点赞19次,收藏58次。一、DFS的概念 {DFS的定义 DFS的搜索方式 DFS采用的数据结构 DFS的特点} 二、DFS的实战应用 {1.排列数字 2.n-皇后问题}_dfs

保密+完整+可用+安全,规避代码安全「马奇诺防线」,构建软件供应链整体安全_gitlab可以防止第三方人员泄露代码吗-程序员宅基地

文章浏览阅读1k次。3大阶段 + 4 大要点,打造软件供应链整体安全。_gitlab可以防止第三方人员泄露代码吗

电机学习笔记 无刷电机控制6步换相_无刷直流电机六步换相的初始角标定-程序员宅基地

文章浏览阅读1.6w次,点赞24次,收藏230次。无刷电机一般是三相这里控制电机靠的是三相六臂全桥电路。注意不能同侧导通,那就短路了,整个控制过程就是通过霍尔传感器的状态,判断在那一个位置,后按电机旋转真值表来控制。使用 PWM 控制直流无刷电机的策略包括PWM-ON、ON-PWM、H_PWM-L_ON、H_ONL_PWM 和 H_PWM-L_PWM。这 5 种控制策略,均是电机处于 120° 运行方式下进行的这 5 种调制方式为:PWM-ON 型。在 120° 导通区间,各开关管前 60° 采用 PWM 调制,后 60° 则恒通。_无刷直流电机六步换相的初始角标定

【生态伙伴】彬驰李俊杰:敏捷化开发永远是企业制胜的法宝-程序员宅基地

文章浏览阅读351次。慧聚行业英才,聚焦产业升级的CDEC2019中国数字智能生态大会暨第十二届中国软件渠道大会上海站已落下帷幕。会上有27家企业脱颖而出,入选“CDEC2019中国最具影响力...

推荐文章

热门文章

相关标签