Gradle、Maven项目相互转换
在开发Android项目的时候,使用的是Gradle
构建工具,喜欢它的灵活和方便,在转向Java后端开发的时候更多时候使用的是Maven
构建工具,然而看着漫天的尖括号,心里实在是难受。虽然只是一个构建工具,本着折腾的心,我还是更认可和看好Gradle
。然而很多时候你的队友并没有习惯去使用或者快速熟悉Gradle
构建工具,那么这个时候就需要将Gradle
项目转换为Maven项目了,或者将Maven项目转换为Gradle
项目了。
安装Gradle/Maven
首先是安装构建工具,这个没啥好说的。
Windows
打开Powershell或者Cmder执行以下命令完成安装:
1 2 | choco install gradle choco install maven |
choco
为windows下的一款包管理工具,可以方便安装管理配置一些常见的软件包,如果你没有安装choco
的话,请移步:
Mac
打开Terminal,执行以下命令安装:
1 2 | brew install gradle brew install maven |
Maven to Gradle
需要特别说明的是,Gradle
对Maven
的支持是比较完善的,因此,转换也是非常的简单,在pom.xml
文件所在的目录下执行:
1 2 | gradle init # 根据pom.xml内容生成对应的gradle配置 gradle build # 开启gradle构建 |
Gradle to Maven
Gradle
项目转Maven
项目需要借助一个Gradle插件,在项目的module
的build.gradle
文件中加入以下配置即可:
1 | apply plugin: 'maven' |
通过双击Idea
的Gradle Tasks GUI:
或者执行命令来完成转换:
1 | gradle install |
完成之后,将会在当前Module项目的build
目录下的poms
文件夹下生成pom-default.xml
,将其拷贝到项目的根目录下即可。
- 参考文档:
通过实际测试,这样的生成的pom-default.xml
文件是不能用于直接maven
构建的,因为生成的pom-default.xml
文件中的groupId
还需要我们手动指定下。这样显然是不清真的,于是我们可以在build.gradle
文件中将其事先定义好,这样生成的pom文件就不用我们再手动更改了:
然而这样我们还是觉得麻烦,毕竟需要手动复制到项目根目录,再重新命名。我们还可以通过Hook Gradle中Maven插件的install
Task来完成自动的复制和命名,编辑build.gradle
:
1 2 3 4 5 6 | task convert2Maven { doLast { file("$buildDir/poms/pom-default.xml").renameTo(file("$rootDir/pom.xml")) } } install.dependsOn(convert2Maven) |
此时,再执行gradle install
这个task就可以看到gradle已经自动为我们在项目的根目录下生成好了pom.xml
文件啦。
- 本文作者: 夏末
- 本文链接:
- 版权声明: 本博客所有文章除特别声明外,均采用 许可协议。转载请注明出处!
- 文章目录
- 站点概览