W3Cschool
恭喜您成為首批注冊用戶
獲得88經驗值獎勵
WAR插件擴展了Java插件,支持web應用組裝成War文件.它默認禁用了Java插件JAR歸檔任務,并增加了一個默認的WAR歸檔任務。
使用war插件需要在構建腳本下包括以下內容
例25.1.使用war插件
build.gradle
apply plugin 'war'
War插件會添加下列任務到項目.
表25.1.War插件-任務
任務名 | 依賴 | 類型 | 描述 |
---|---|---|---|
war | compile | War | 組裝應用程序War文件 |
War插件由Java插件添加下列依賴任務.
表25.2.War插件-附加的依賴任務
任務名 | 依賴 |
---|---|
assemble | war |
圖25.1.War插件-任務
表25.3.War插件-項目布局 文件夾 | 含義 -------- | ------ src/main/webapp | Web應用資源
War插件增加了名為providedCompile和providedRuntime的兩個依賴配置.這兩個配置有相同的作用域在編譯或者運行時的配置,不同之處在于是否會將war文件歸檔.很重要的一點是它們都會提供配置傳遞.比如在任意的provided配置中添加了commons-httpclient:commons-httpclient:3.0,該依賴依賴于commons-codec,因為這個一個"provided"的配置,意味著這兩個依賴都不會被加入你的WAR中,即使commons-codec庫是一個顯式的編譯配置.如果不希望出現這種傳遞行為,commons-httpclient:commons-httpclient:3.0@jar這樣聲明provided依賴即可.
表25.4.War插件-目錄配置
屬性名稱 | 類型 | 默認值 | 描述 |
---|---|---|---|
webAppDirName | String | src/main/webapp | 在項目目錄的web應用的資源文件夾名 |
webAppDir | File (read-only) | projectDir/webAppDirName | Web應用的資源路徑 |
這些屬性由一個WarPluginConvention公共對象提供
War任務默認會把src/main/webapp的內容復制到歸檔目錄的根目錄.webapp文件夾下會包含一個WEB-INF子文件夾,里面可能會有一個web.xml文件.編譯后的class文件會在WEB-INF/classes下,所有runtime[13]的依賴配置會被拷貝至WEB-INF/lib下.
API文檔中有更多關于War的信息.
下面的例子中有一些重要的自定義選項
例25.2.定制War插件
build.gradle
configuration{
moreLibs
}
respositories{
faltDir {dirs "lib"}
mavenCentral()
}
dependencies{
compile module(":compile:1.0") {
dependency ":compile-transitive-1.0@jar"
dependency ":providedCompile-transitive:1.0@jar"
}
providedCompile "javax.servlet:servlet-api:2.5"
providedCompile module(":providedCompile:1.0") {
dependency ":providedCompile-transitive:1.0@jar"
}
runtime ":runtime:1.0"
providedRuntime ":providedRuntime:1.0@jar"
testCompile "junit:junit:4.12"
moreLibs ":otherLib:1.0"
}
war{
from 'src/rootContent' // 增加一個目錄到歸檔根目錄
webInf {from 'src/additionalWebInf'} // 增加一個目錄到 WEB-INF 下
classpath fileTree('additionalLibs') // 增加一個目錄到 WEB-INF/lib下.
classpath configurations.moreLibs // 增加更多地設置到 WEB-INF/lib 下.
webXml = file('src/someWeb.xml') // 復制xml文件到 WEB-INF/web.xml.
}
當然,可以用一個封閉的標簽定義一個文件是否存打包到War文件中.
[13]runtime配置將會繼承compile配置.
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: