目標
本章深入介紹多個專案、屬性管理和日誌功能三方面討論,多個專案建置會由一個主專案的build.gradle
編譯各個子專案模組。這樣方便管理每個專案的功能。
- War plugin
網頁專案通常會打包成.war或是.ear的檔案形式,在.gradle需要加入下列任務後,在建構的過程中,war會
取代原先的jar任務,
apply plugin : "war" //打包為.war檔案 apply plugin : “ear” //打包為.ear檔案 |
使用gradle建構網頁專案,在src/main/java裡面為java檔、/src/main/webapp為jsp檔與WEB-INF檔案
在war plugin裡面增加providedCompile和providedRuntime跟java plugin的complie和runtime相同,於不同的地方
它不會為打包入war檔案中,下面為例servlet-api:2.5將不會被打包進去WEB-INF/lib/裡面,因為這些在tomcat的
lib就有提供。
apply plugin: “war” repositories{ mavenCentral() } dependencies{ providedCompile "javax.servlet:servlet-api:2.1" } |
apply plugin: 'war' |
- 日誌
日誌可以提供開發者方便區分資訊分級程度,
日誌層級 | 描述 |
ERROR | 錯誤資訊 |
QUIET | 使用者資訊 |
WARNING | 警告資訊 |
LIFECYCLE | 程序資訊(預設) |
INFO | 一般資訊 |
DEBUG | 所有資訊 |
task showLogging << { >gralde showLoggin |
- 多專案建立
(1)
本節我們會說明多專案的建立,當我們有一個root專案為team,底下有三個專案: Tool、application和Employee
。application專案需要呼叫Tool和Employee方法。如圖所示
include ':Tool',':application',':Employee' |
build.gradle apply plugin: 'java' project(":Employee"){ repositories { project(":application"){ }
apply plugin: 'eclipse'
project(":Tool"){
apply plugin: "java"
println "project name is $name"
task toolTask << {
println "Task name is $name"
}
}
apply plugin: 'java'
mavenCentral()
}
println "Project name is $name"
task employeeTask << {
println "Task name is $name"
}
}
apply plugin: 'java'
println "Project name is $name"
dependencies{
compile project(':Employee')
compile project(':Tool')
}
(2) Flat 階層
我們可以同階層來當作子專案(subproject),使用includeFlat ‘專案名稱’
includeFlat ‘application’ |
留言
張貼留言