【全文转载】Gradle、Maven项目相互转换
Gradle、Maven项目相互转换
在开发Android项目的时候,使用的是Gradle
构建工具,喜欢它的灵活和方便,在转向Java后端开发的时候更多时候使用的是Maven
构建工具,然而看着漫天的尖括号,心里实在是难受。虽然只是一个构建工具,本着折腾的心,我还是更认可和看好Gradle
。然而很多时候你的队友并没有习惯去使用或者快速熟悉Gradle
构建工具,那么这个时候就需要将Gradle
项目转换为Maven项目了,或者将Maven项目转换为Gradle
项目了。
安装Gradle/Maven
首先是安装构建工具,这个没啥好说的。
Windows
打开Powershell或者Cmder执行以下命令完成安装:
1 |
choco install gradle |
choco
为windows下的一款包管理工具,可以方便安装管理配置一些常见的软件包,如果你没有安装choco
的话,请移步:https://chocolatey.org/
Mac
打开Terminal,执行以下命令安装:
1 |
brew install gradle |
Maven to Gradle
需要特别说明的是,Gradle
对Maven
的支持是比较完善的,因此,转换也是非常的简单,在pom.xml
文件所在的目录下执行:
1 |
gradle init # 根据pom.xml内容生成对应的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 |
task convert2Maven { |
此时,再执行gradle install
这个task就可以看到gradle已经自动为我们在项目的根目录下生成好了pom.xml
文件啦。
- 本文作者: 夏末
- 本文链接: https://notes.wanghao.work/2017-08-21-Gradle、Maven项目相互转换.html
- 版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 许可协议。转载请注明出处!
- 文章目录
- 站点概览
【全文转载】Gradle、Maven项目相互转换的更多相关文章
- 转载:Maven项目mybatis Invalid bound statement (not found)解决方法
在mapper代理的开发中,程序员需要遵守一些规范,mybatis才能实现mapper接口的代理对象. 它的规范如下: mapper.xml的namespace要写所映射接口的全称类名. mapper ...
- IDEA Maven项目 pom.xml 找不到 Dependency 依赖
转载: IDEA Maven项目 pom.xml 找不到 Dependency 依赖 如果你的pom.xml中使用了dependencyManagement管理依赖并且添加了你本地仓库中不存在的依赖可 ...
- gradle项目对比maven项目的目录架构以及对gradle wrapper的理解
转载请注明出处: 1.使用 idea 搭建 gradle项目 注意 type 选择 gradle 以及 language 选择 grooy 搭建后的项目架构 ...
- gradle项目与maven项目相互转化
gradle这几年发展迅猛,github越来越多的项目都开始采用gradle来构建了,但是并不是所有人都对gradle很熟悉,下面的方法可以把gradle转成maven项目,前提gradle项目目录结 ...
- gradle与maven项目相互转化
gradle这几年发展迅猛,github越来越多的项目都开始采用gradle来构建了,但是并不是所有人都对gradle很熟悉,下面的方法可以把gradle转成maven项目,前提gradle项目目录结 ...
- gradle项目与maven项目相互转化(转)
根据build.gradle和setting.gradle文件生成idea项目: gradle idea gradle这几年发展迅猛,github越来越多的项目都开始采用gradle来构建了,但是并不 ...
- gradle项目与maven项目互转
maven to gradle 在maven项目根目录下执行命令: gradle init --type pom 当然你得先下载Gradle,配置完环境变量. gradle to maven grad ...
- maven 项目转 gradle
打开maven 项目的根目录,CMD 执行命令:gradle init --type pom maven项目就变成了gradle项目
- 使用Gradle发布项目到JCenter仓库 (转载)
原文:使用Gradle发布项目到JCenter仓库 这篇文章介绍通过Gradle把开源项目发布到公共仓库JCenter中,方便你我他的事情,我们都是很懒的嘛.JCenter现在是Android Stu ...
随机推荐
- centos7使用yum安装zabbix3.4
应用环境: 关于ZABBIX: zabbix一开强大的开源监控工具,同类型还有nagios,ganglia,cacti等监控工具,通过过去一年Google趋势就知道zabbix全球的相对热度: ...
- 51nod1079 poj2891 中国剩余定理与其扩展
题目链接:http://www.51nod.com/Challenge/Problem.html#!#problemId=1079 一个正整数K,给出K Mod 一些质数的结果,求符合条件的最小的K. ...
- Jupyter ~ 像写文章般的 Coding (附:同一个ipynb文件,执行多语言代码)
前面用了好久Notebook来交互式编程了,这次说说几个其他的选项: Notebook Markdown 这次选Markdown模式(关于Markdown基础可以看之前写的Markdown Base) ...
- Java线程池中submit()和execute之间的区别?
一: submit()方法,可以提供Future < T > 类型的返回值. executor()方法,无返回值. execute无返回值 public void execute(Runn ...
- Qt5应用改变窗口大小时出现黑影
解决方法 在启动程序时,添加-platform wayland参数 添加QT_QPA_PLATFORM=wayland-egl到系统环境变量 注意:改完后虽然没有黑影,但软件图标显示不正常,也不能正常 ...
- react-native实现电影列表
页面运行效果 代码: import React, { Component } from "react"; import { Image, FlatList, StyleSheet, ...
- plink提取指定样本的数据(keep函数)
提取样本见命令行: plink --bfile file --noweb --keep sampleID.txt --recode --make-bed --out sample 其中,sampleI ...
- GWAS研究可利用的数据库(持续更新)
1.列表包括数据库名称.表型.是否能下载到基因型(genotype).是否能下载到GWAS结果文件(P值.效应值.SNP位点).目前收集到的有如下: 参考到这些数据库的文献:Genome-wide a ...
- Hibernate 二(一级缓存,多表设计之一对多)
1 对象状态与一级缓存 1.1 状态介绍 l hibernate 规定三种状态:瞬时态.持久态.脱管态 l 状态 瞬时态:transient,session没有缓存对象,数据库也没 ...
- Luogu P3346 [ZJOI2015]诸神眷顾的幻想乡 广义SAM 后缀自动机
题目链接 \(Click\) \(Here\) 真的是好题啊-不过在说做法之前先强调几个自己总是掉的坑点. 更新节点永远记不住往上跳\(p = fa[p]\) 新建节点永远记不住\(len[y] = ...