gradle命令
# 查看gradle版本
gradle -v
# 支持指定的task
gradle task名稱
# 靜默運行指定的task
gradle -q task名稱
# 清理
gradle clean
# 列出項目中所有可用的task
gradle -q tasks
# 列出項目中所有可用的task, 包括依賴任務
gradle -q tasks --all
# 在執行時排除一個任務, 選項-x可以實現這個功能
gradle task名稱 -x 要排除的task名稱
# 在運行時, 提供一個系統參數. 選項-D可以實現這個功能
gradle task名稱 -Dmyprop=myvalue
# 執行包裝器任務
gradle wrapper
build.gradle文件內容
/* ------- 基本配置 ------- */
// 使用Java插件, 默認會到'src/main/java'目錄下查找源代碼
apply plugin: 'java'
// 使用war插件(它包含了java插件,所以兩個寫一個就可以了), 默認會識別'src/main/webapp'目錄
apply plugin: 'war'
// 在嵌入式Web容器中運行
apply plugin: 'jetty'
// 定製jetty插件, 配置端口號和項目根路徑
jettyRun {
httpPort = 9090
contextPath = 'todo'
}
// 指定項目版本號
version = 0.1
// 指定jdk版本兼容性
sourceCompatibility = 1.6
/*
添加程序啓動類, 也就是將Main-Class頭添加到JAR文件代碼清單中
這樣就可以通過java -jar build/libs/todo-app-0.1.jar命令來運行應用
*/
jar {
manifest {
attributes 'Main-Class': 'com.manning.gia.todo.ToDoApp'
}
}
/* ------- 改造遺留項目 ------- */
// 改變默認的項目 目錄結構
sourceSets {
main {
java {
/*
約定的, 默認的源代碼目錄是在'src/main/java'
這裏修改爲'src'目錄
*/
srcDirs = ['src']
}
}
test {
java {
/*
約定的測試源代碼目錄是在'src/test/java'
這裏修改爲'test'目錄
*/
srcDirs = ['test']
}
}
}
// 約定的項目輸出路徑是'build'目錄, 這裏修改爲'out'目錄
buildDir = 'out'
/*
改變web應用webapp默認目錄 (默認是'src/main/webapp')
用於改造舊項目, 如下所示:
|_ build.gradle
|_ src
| |_ main
| |_ java
|_ static
| |_ css
|_ webfiles
|_ WEB-INF
|_ web.xml
*/
webAppDirName = 'webfiles'
war {
// static目錄下的 內容 添加到WAR文件的根目錄下
from 'static'
}
/* ------- 依賴管理 ------- */
// 依賴管理, 定義中心倉庫
repositories {
maven {
url "http://maven.aliyun.com/nexus/content/groups/public/"
}
}
// 添加依賴
dependencies {
complie group: 'org.apache.commons', name: 'commons-lang3', version: '3.1'
providedComplie 'javax.servlet:servlet-api:2.5'
runtime 'javax.servlet:jstl:1.1.2'
}
/* ------- 部署 ------- */
// 配置包裝器任務
task wrapper (type : Wrapper) {
gradleVersion = '3.5'
}
// 定製包裝器
task wrapper (type : Wrapper) {
// 請求的gradle版本
gradleVersion = '3.5'
// 獲取gradle包裝器的URL
distributionUrl = 'http://myenterprise.com/gradle/dists'
// 包裝器被解壓後存放的相對路徑
distributionPath = 'gradle-dists'
}