1. Gradle安装(本地也可不安装,不安装gradle配置选择gradle wrapper)
下载地址:http://services.gradle.org/distributions/
下载你所需要对应的版本,gradle-4.6.1-bin.zip
下载后解压到你想要的目录
设置环境变量
新建系统变量,变量名为GRADLE_HOME,变量值为gradle安装包所在目录
添加到PATH环境变量中
在cmd模式下gradle -v命令查看,出现以下信息证明安装成功
2. IntelliJIDEA导入
2.1 Gradle设置
gradle相关配置 | 说明 |
Use auto-import | 是否开启自动导入,若开启修改gradle脚本文件后会自动检测变化并对项目进行刷新 |
Create directories for empty content roots automatically | 导入或者创建gradle项目时,是否自动创建标准目录结构 |
Create separate module per source set | 让每个模块单独采用Gradle约定的source set结构去执行构建 |
Use default gradle wrapper (recommended) | 使用Gradle Wrapper(如果一定要翻译的话,可以称之为Gradle 包装器),这可以使得项目组成员不必预先安装好gradle即可执行gradle脚本,同时也便于统一项目所使用的gradle版本,当然虽说是不必预装其实是它会自己去官网帮你下载一个。 |
Use gradle wrapper task configuration | 自定义Gradle Wrapper配置,如可以更改发行包下载地址为你的内网地址便不存在上一条中的翻墙\下载失败\速度慢的问题了 |
Use local gradle distribution | 采用本地安装的Gradle执行脚本 |
Gradle home | 选择你的Gradle安装目录即可,无需选择到bin |
Gradle JVM | 选择构建Gradle项目使用的JVM,默认是项目采用的JDK |
Gradle idea集成插件使用:https://blog.csdn.net/bigkylin/article/details/71428054
2.2 导入
Idea启动界面中选中Import Project,选中一个空的文件夹
选中Gradle模式
在下一步中按照箭头指示选中相关信息,点击完成。在Gradle中导入的模块就会自动分组。
在这种情况下可以出现Gradle菜单。在菜单中导入对应的Gradle项目即可。在这种情况下,可自动分组。
导入时选择项目的总构建脚本
3. Eclipse导入
3.1 gradle设置
设置gradle的执行目录及缓存目录
3.2 导入
导入时选择每个项目总构建脚本所在的目录,并进行分组,当前eclipse对gradle不能自动分组,我们手动分
点击finish完成导入
3.3 解决Eclipse中Java工程间循环引用而报错的问题
如果我们的项目包含多个工程(project),而它们之间又是循环引用的关系,那么Eclipse在编译时会抛出如下一个错误信息: “A cycle wasdetected in the build path of project: XXX”
解决方法非常简单:
Window -> Preferences... -> Java-> Compiler -> Building -> Building path problems -> Circulardependencies -> 将Error改成Warning
3.4 项目分类working set
如果导入时已经分好组,请忽略该部分设置
在java视图下用分组模式显示
3.5 Web工程手动打war
找到项目的web模块,比如mweb-web,在gradle tasks找到该模块,找到构建命令build,双击war即可在mweb-web/build/libs目录生成相应war包。
4. Gradle教程
4.1 介绍
Gradle是一个基于ApacheAnt和Apache Maven概念的项目自动化构建工具。它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,抛弃了基于XML的各种繁琐配置。
4.2 特点
一个像ant一样,通用的灵活的构建工具;
一种可切换的,像maven一样的基于约定优于配置的构建框架;
强大的多工程构建支持;
强大的依赖管理(基于Apache Ivy);
对已有的maven和ivy仓库的全面支持;
支持传递性依赖管理,而不需要远程仓库或者 pom.xml 或者 ivy 配置文件;
ant式的任务和构建是gradle的第一公民;
基于groovy,其 build脚本使用groovydsl 编写;
具有广泛的领域模型支持你的构建;
4.3 依赖管理
4.3.1 依赖配置
compile:编译范围依赖在所有的 classpath 中可用,同时它们也会被打包
runtime:runtime依赖在运行和测试系统的时候需要,但在编译的时候不需要。比如,你可能在编译的时候只需要 JDBC API JAR,而只有在运行的时候才需要 JDBC 驱动实现
testCompile:测试期编译需要的附加依赖
testRuntime:测试运行期需要
dependencies {
compile project(':com.csii.channel.core:core-common')
compile project(':com.csii.channel.core:core-dynamic')
compile group: 'commons-net', name: 'commons-net', version:'2.0'
compile group: 'com.google.guava', name: 'guava', version:'21.0'
compile group: 'org.apache.mina', name: 'mina-core', version:'2.0.16'
testCompile group: 'junit', name: 'junit', version:'4.12'
}
4.3.2 仓库
使用Maven中央仓库,maven仓库的URL为:http://repo1.maven.org/maven2/
repositories {
mavenCentral()
}
使用Maven远程仓库
repositories {
mavenLocal()
maven { url "http://47.94.122.94:8081/nexus/content/groups/public/" }
}
4.4 build生命周期
Gradle的构建脚本生命周期具备三大步,如下:
4.5 多项目构建
4.5.1 settings文件介绍
settings文件声明了所需的配置来实例化项目的层次结构。在默认情况下,这个文件被命名为settings.gradle,并且和根项目的build.gradle文件放在一起,该文件在初始化阶段被执行。根项目就像一个容器,子项目会迭代访问它的配置并注入到自己的配置中。
4.5.2 多项目构建
多项目构建总是需要指定一个树根,树中的每一个节点代表一个项目,每一个Project对象都指定有一个表示在树中位置的路径;在设置文件中我们还可以使用一套方法来自定义构建项目树。
4.6 常见的task命令
build:当运行gradle build命令时Gradle将会编译和测试你的代码,并且创建一个包含类和资源的JAR文件。
clean:当运行gradle clean命令时Gradle将会删除build生成的目录和所有生成的文件。
assemble:当运行gradle assemble命令时Gradle将会编译并打包代码,但是并不运行单元测试。
check:当运行gradle check命令时Gradle将会编译并测试你的代码,其他的插件会加入更多的检查步骤。