Gradle 简单介绍以及与 Maven 项目的互相转化
  TEZNKK3IfmPf 2023年11月13日 43 0

gradle 安装

和 maven 的安装类似,解压设置GRADLE_HOME即可。

gradle 核心——project & task

Gradle 里的几乎任何东西都是基于两个基础概念:project & task。
Gradle 中所有执行的事件都是借由 Task 执行的。
对于一个Gradle工程,根目录执行:​​​gradle tasks -q​​​,​​-q​​​表示忽略gradle本身的log信息,加上这个参数可以屏蔽很多无关的输出。
通常会给task附带一些执行动作,称之为Action。
也可以附带一个闭包配置,称之为Configuration,闭包中不仅可用做赋值操作,也可以执行一些自动执行的配置。
Task依赖。

task xxx << {
}

这样的语法等价于

task xxx
xxx.dolast {
}

关于project:
目录:
重要文件:
setting.gradle文件
build.gradle 类似于pom.xml
一个父工程 project 可以包含多个子工程 child-project,一般一个工程一个 build.gradle 文件。父工程的 build.gradle 统一管理子工程的build.gradle。

Gardle v.s. Maven

优势:基于 groovy 的简洁语法;
groovy task 比 maven plugin 灵活方便;

互相转化

下面的方法可以把gradle转成maven项目,前提是gradle项目目录结构保持跟maven一样的约定,即/src/main/java。

gradle --> maven

在build.gradle中增加以下内容(group,version可自行修改,artifactId默认为目录名称)

apply plugin: 'java'
apply plugin: 'maven'

group = 'com.101tec'
version = '0.7-dev'
sourceCompatibility = 1.8

执行​​gradle install​​​,成功后将在build\poms目录下生成pom-default.xml文件,把它复制到根目录下,改名成pom.xml即可
通过修改build.gradle 也可以直接在根目录下生成pom.xml

task writeNewPom << {
pom {
project {
inceptionYear '2018'
licenses {
license {
}
}
}
}.writeTo("$buildDir/pom.xml")
}

maven --> gradle

本机安装gradle 2.0以上的版本,在maven根目录下运行:​​gradle init --type pom​

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月13日 0

暂无评论

推荐阅读
  TEZNKK3IfmPf   2024年04月26日   28   0   0 xml
  TEZNKK3IfmPf   2024年03月29日   119   0   0 maven
  TEZNKK3IfmPf   2024年03月29日   29   0   0 xmljava
  TEZNKK3IfmPf   19天前   31   0   0 ajaxxml
  TEZNKK3IfmPf   2024年04月19日   37   0   0 xmlphp
TEZNKK3IfmPf