在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ 物聯(lián)網(wǎng)/ War 插件
問(wèn)題反饋
Gradle 插件
Scala 插件
Gradle 命令行的基本使用
任務(wù)詳述
安裝
概述
教程-雜七雜八
構(gòu)建環(huán)境
依賴管理基礎(chǔ)
使用 Gradle 圖形用戶界面
使用文件
CodeNarc 插件
Sonar 插件
Groovy 插件
Sonar Runner 插件
OSGi 插件
Ear 插件
Gradle 守護(hù)進(jìn)程
Java 插件
簡(jiǎn)介
構(gòu)建基礎(chǔ)
FindBugs 插件
Groovy 快速入門(mén)
JaCoCo 插件
PMD 插件
War 插件
Checkstyle 插件
日志
Java 構(gòu)建入門(mén)
Jetty 插件
從 Gradle 中調(diào)用 Ant
標(biāo)準(zhǔn)的 Gradle 插件
Web 工程構(gòu)建
JDepend 插件
編寫(xiě)構(gòu)建腳本

War 插件

War 的插件繼承自 Java 插件并添加了對(duì)組裝 web 應(yīng)用程序的 WAR 文件的支持。它禁用了 Java 插件生成默認(rèn)的 JAR archive,并添加了一個(gè)默認(rèn)的 WAR archive 任務(wù)。

用法

要使用 War 的插件,請(qǐng)?jiān)跇?gòu)建腳本中包含以下語(yǔ)句:

使用 War 插件

build.gradle

apply plugin: 'war'  

任務(wù)

War 插件向 project 中添加了以下任務(wù)。

表 26.1. War 插件 - 任務(wù)

任務(wù)名稱 依賴于 類型 描述
war compile War 組裝應(yīng)用程序 WAR 文件。

War 插件向 Java 插件所加入的 tasks 添加了以下的依賴。

表 26.2. War 插件 - 額外的 task 依賴

任務(wù)名稱 依賴于
assemble war

圖 26.1. War 插件 - tasks

http://wiki.jikexueyuan.com/project/gradle/images/05.png" alt="" />

項(xiàng)目布局

表 26.3. War 插件 - 項(xiàng)目布局

目錄 意義
from <s1>'src/main/webapp'</s1> Web 應(yīng)用程序源代碼

依賴管理

War 插件添加了兩個(gè)依賴配置: providedCompile 和 providedRuntime。雖然它們有各自的compile 和 runtime 配置,但這些配置有相同的作用域,只是它們不會(huì)添加到 WAR 文件中。要特別注意,這些 provided 配置的傳遞使用。假設(shè)你添加 commons-httpclient:commons-httpclient:3.0 依賴到任何一個(gè) provided 配置。這個(gè)依賴又依賴于 commons-codec。這意味著 httpclient 和 commons-codec 都不會(huì)添加到你的 WAR 中,即使 commons-codec 是 compile 配置上的一個(gè)顯示依賴。如果你不想要這種傳遞行為,只是把 provided 依賴聲明成和commons-httpclient:commons-httpclient:3.0@jar 一樣。

公約屬性

表26.4. War 插件 ??- 目錄屬性

屬性名稱 類型 默認(rèn)值 描述
webAppDirName String from <s1>'src/main/webapp'</s1> web 應(yīng)用程序源目錄的名稱,是一個(gè)相對(duì)于項(xiàng)目目錄的目錄名稱。
webAppDir File?(read-only) webAppDirName Web 應(yīng)用程序的源目錄。

這些屬性由一個(gè) WarPluginConvention 公約對(duì)象提供。

War

War task 的默認(rèn)行為是將 src/main/webapp 的內(nèi)容復(fù)制到 archive 的根目錄下。你的 webapp 目錄自然可能包含一個(gè) WEB-INF 子目錄,這個(gè)子目錄可能還再包含一個(gè) web.xml 文件。已編譯的類被編譯進(jìn) WEB-INF/classes。所有 runtime 配置的依賴被復(fù)制到 WEB-INF/lib。

自定義

下面是一個(gè)示例,展示了最重要的自定義選項(xiàng):

war 插件的自定義

build.gradle

configurations {
   moreLibs
}
repositories {
   flatDir { 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.11'
}
    moreLibs ":otherLib:1.0"
}
war {
    from 'src/rootContent' // adds a file-set to the root of the archive
    webInf { from 'src/additionalWebInf' } // adds a file-set to the WEB-INF dir.
    classpath fileTree('additionalLibs') // adds a file-set to the WEB-INF/lib dir.
    classpath configurations.moreLibs // adds a configuration to the WEB-INF/lib dir.
    webXml = file('src/someWeb.xml') // copies a file to WEB-INF/web.xml
}  

當(dāng)然,你可以用一個(gè)定義了 excludes 和 includes 的閉包來(lái)配置不同的文件集。