博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【全文转载】Gradle、Maven项目相互转换
阅读量:5250 次
发布时间:2019-06-14

本文共 1611 字,大约阅读时间需要 5 分钟。

 

 

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

需要特别说明的是,GradleMaven的支持是比较完善的,因此,转换也是非常的简单,在pom.xml文件所在的目录下执行:

1 2
gradle init     # 根据pom.xml内容生成对应的gradle配置 gradle build    # 开启gradle构建

Gradle to Maven

Gradle项目转Maven项目需要借助一个Gradle插件,在项目的modulebuild.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插件的installTask来完成自动的复制和命名,编辑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文件啦。

  • 本文作者: 夏末
  • 本文链接: 
  • 版权声明: 本博客所有文章除特别声明外,均采用  许可协议。转载请注明出处!
 
 3%

转载于:https://www.cnblogs.com/chenhui7373/p/8598337.html

你可能感兴趣的文章
MySQL 字符编码问题详细解释
查看>>
perl 学习笔记
查看>>
31 Days of Windows Phone
查看>>
poj 1184(聪明的打字员)
查看>>
Ubuntu下面安装eclipse for c++
查看>>
C#压缩或解压(rar和zip文件)
查看>>
让IE浏览器支持CSS3圆角属性的方法
查看>>
巡风源码阅读与分析---nascan.py
查看>>
LiveBinding应用 dataBind 数据绑定
查看>>
Linux重定向: > 和 &> 区别
查看>>
nginx修改内核参数
查看>>
【欧拉函数模板题】最大公约数
查看>>
C 筛选法找素数
查看>>
TCP为什么需要3次握手与4次挥手(转载)
查看>>
IOC容器
查看>>
织梦仿站第三课:网站的文件分割
查看>>
Windows 2003全面优化
查看>>
URAL 1002 Phone Numbers(KMP+最短路orDP)
查看>>
web_day4_css_宽度
查看>>
用sql删除数据库重复的数据的方法
查看>>