1. Java开发
Java插件是Gradle自身装载的一个插件。Java插件提供的基本功能远比源代码编译和打包多。它为你的项目建立了一个标准的项目布局,并确保有意义、有顺序地执行任务。现在,为你的项目创建一个构建脚本并使用Java插件。
1.1 使用插件
使用java插件
apply plugin: 'java'
1.2 定制项目
可以修改项目和插件属性
apply plugin: 'java'
version = 0.1
// 设置java版本编译兼容1.6
sourceCompatibility = 1.6
jar {
manifest {
attributes 'Main-Class': 'com.manning.gia.todo.ToDoApp'
}
}
可以修改项目结构
apply plugin: 'java'
version = 0.1
sourceCompatibility = 1.6
// 指定打包jar的启动类属性
jar {
manifest {
attributes 'Main-Class': 'com.manning.gia.todo.ToDoApp'
}
}
// 修改项目结构
sourceSets {
main {
java {
srcDirs = ['src']
}
}
test {
java {
srcDirs = ['test']
}
}
}
// 指定编译后文件输出目录
buildDir = 'out'
1.3 使用外部依赖
定义仓库
repositories {
// 配置对maven central仓库的访问快捷方式
mavenCentral()
}
定义依赖
dependencies {
compile group: 'org.apache.commons', name: 'commons-lang3', version: '3.1'
}
2. web开发
build.gradle
// 配置插件
apply plugin: 'java'
apply plugin: 'war'
apply plugin: 'jetty'
// 配置仓库地址
repositories {
mavenCentral()
}
// 配置依赖
dependencies {
providedCompile 'javax.servlet:servlet-api:2.5'
runtime 'javax.servlet:jstl:1.1.2'
}
// 定制jetty插件
jettyRun {
httpPort = 9090
contextPath = 'todo'
}
// 改变web的源代码目录,默认webapp
webAppDirName = 'webfiles'
// 将css和js目录转移到war根目录下的static下
war {
from 'static'
}
构建项目
gradle build
运行jetty
gradle jettyRun
3. Gradle包装器
它是 Gradle 的核心特性,能够让机器在没有安装 Gradle 运行时的情况下运行Gradle 构建。它也让构建脚本运行在一个指定的 Gradle 版本上。它是通过自动从中心仓库下载 Gradle 运行时,解压和使用来实现的。最终的目标是创造一个独立于系统、 系统配置和 Gradle 版本的可靠和可重复的构建。
3.1 配置包装器
在构建脚本中添加包装器任务
task wrapper(type: Wrapper) {
//指定要使用的gradle版本
gradleVersion = '5.0'
}
同时提供用于linux和windows使用的脚本 gradlew 和 gradlew.bat
3.2 使用包装器
gradlew.bat jettyRun
当包装器任务被执行时,Gradle 运行时会被下载、解包并使用
3.3 定制包装器
task wrapper(type: Wrapper) {
//请求的gradle版本
gradleVersion = '5.0'
//获取gradle包装器的地址
distributionUrl = 'http://myenterprise.com/gradle/dists'
//包装器被解压后存放的相对路径
distributionPath = 'gradle-dists'
}
4. 参考
- 《实战Gradle 中文版》