3.Gradle構建Java專案
阿新 • • 發佈:2020-07-19
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 中文版》