本文翻譯自: http://maven.apache.org/plugins/maven war plugin/war mojo.html war:war 全路徑 : org.apache.maven.plugins:maven war plugin:3.1.0:war 描述 : 構建一個 WAR文 ...
本文翻譯自: http://maven.apache.org/plugins/maven-war-plugin/war-mojo.html
war:war
全路徑:
org.apache.maven.plugins:maven-war-plugin:3.1.0:war
描述: 構建一個 WAR文件.
特征:
- [必須] 一個maven工程用於執行
- [必須] artifacts的依賴範圍: compile+runtime
- 此目標是線程安全的, 支持並行構建
- 綁定的預設的lifecycle phase: package
必須的參數
Name | Type | Since | Description | 預設值 |
---|---|---|---|---|
cacheFile | File | 2.1-alpha-1 | 包含webapp結構的文件緩存 | ${project.build.directory}/war/work/webapp-cache.xml. |
outputDirectory | String | - | 用於輸出WAR的目錄 | ${project.build.directory}. |
warSourceDirectory | File | - | WAR中包含額外文件的單個目錄.這裡是你放置JSP文件的地方 | ${basedir}/src/main/webapp. |
webappDirectory | File | - | 構建webapp的目錄 | ${project.build.directory}/${project.build.finalName}. |
workDirectory | File | - | 解壓WAR可選相關內容的目錄 | ${project.build.directory}/war/work. |
可選參數
Name | Type | Since | Description | 預設值 |
---|---|---|---|---|
archive | MavenArchiveConfiguration | - | 可使用的 archive configuration . 見 Maven Archiver Reference. | |
archiveClasses | boolean | 2.0.1 | 是否需要創建一個JAR文件用於webapp中的classes. 使用這個可選參數將編譯classes打包到一個JAR文件以及classes目錄將從webapp中排除. | false |
attachClasses | boolean | 2.1-alpha-2 | 是否classes(WEB-INF/classes目錄中的內容)是否作為一個新增的artifact附加至工程中 | 預設的附加artifact的標識是 'classes'. 你可以使用 <classesClassifier>someclassifier</classesClassifier> 參數去更改它如果這個參數是 true, 另一個工程可以通過以下方式來依賴它<dependency><groupId>myGroup</groupId><artifactId>myArtifact</artifactId><version>myVersion</myVersion><classifier>classes</classifier></dependency> 預設值是: false. |
classesClassifier | String | 2.1-alpha-2 | 用於附加 classes artifact 的標識 | 預設值是classes |
classifier | String | - | 一個標識用於添加至產生的WAR中. 如果給定, 則 artifact 則使用一個附件來代替. 這個標識將不會用於工程的JAR文件中, 僅用於這個WAR中 (沒明白啥意思) | |
containerConfigXML | File | - | servlet容器的配置文件路. 註意不同的容器文件名可能不同. Apache Tomcat 使用的配置文件命名為 context.xml. 這個文件將被拷貝至 META-INF目錄. | |
delimiters | LinkedHashSet | 3.0.0 | 表達式的分隔符列表, 用於過濾資源. 這些分隔符以 'beginTokenendToken' 這樣的形式指定. 如果沒有 '' 指定, 這些分隔符將假定開始與結束都相同 所以預設的分隔符可能是下麵的形式指定 Since '@' delimiter is the same on both ends, we don't need to specify '@*@' (though we can). | |
dependentWarExcludes | String | - | 當做一個WAR的overlay時, 指定的一個逗號分隔的排除列表 | 預設值是 Overlay.DEFAULT_EXCLUDES |
dependentWarIncludes | String | - | 當做一個WAR的overlay時, 指定的一個逗號分隔的包含列表 | 預設值是 DEFAULT_INCLUDES |
escapeString | String | 2.1-beta-1 | String中的表達式處理不會被替換, \${foo} 將換替換為@ ${foo}. | |
escapedBackslashesInFilePath | boolean | 2.1-alpha-2 | 轉義插入的值, 使用windows路徑 c:\foo\bar will 將被替換為 c:\foo\bar.預設值是: false. | |
failOnMissingWebXml | Boolean | 2.1-alpha-2 | 當web.xml丟失時, 決定是否失敗此構建. 當構建不依賴於web.xml文件時,設置為false. 如果你在構建一個overlay, 且沒有web.xml時, 非常有用 | 開始於 3.1.0, 如果工程依賴於servlet3.0api或者更新版本, 則這個屬性預設為false |
filteringDeploymentDescriptors | boolean | 2.1-alpha-2 | 過濾部署描述符. 預設不使用 | 預設值為 false. |
filters | List | - | 在pom.xml的執行過程中, 包含的過濾器 Filters (property files) . | |
includeEmptyDirectories | boolean | 2.4 | (no description) | 預設值是: false. |
nonFilteredFileExtensions | List | 2.1-alpha-2 | 一個應該被過濾的文件擴展名列表. 可用於過濾webResources以及覆寫. | |
outputFileNameMapping | String | 2.1-alpha-1 | 當拷貝libraries和TLDs時的文件名映射. 如果沒有設置文件映射. (預設的)文件將使用標準名稱進行拷貝. | |
overlays | List | 2.1-alpha-1 | 實現覆寫. 每個<overlay>元素可以包含: * id (預設值為當前的構建) * groupId (當此項與 artifactId 為空時,當前工程作為他自身的overlay) * artifactId 見上) * classifier * type * includes (字元串pattern的列表) * excludes (字元串pattern的列表) * filtered (預設為 false) * skip (預設為false) * targetPath 預設為 webapp 結構的root) |
|
packagingExcludes | String | 2.1-alpha-2 | 用逗號分隔的單詞列表, 用於在打包前從WAR中排除. 這個選項可能用於實現WAR包瘦身. 註意你可以使用正則表達式引擎來包含和排除指定的樣式, 使用表達式%regex[]. 提示:閱讀關於 (?!Pattern). | |
packagingIncludes | String | 2.1-beta-1 | 用逗號分隔的單詞列表, 用於在打包前包含至WAR中, 預設是包含所有的. 這個可選項可能用於實現skinny WAR 的案例. 註意你可以使用正式表達式引擎去包含與排除指定的樣式, 使用這樣的表達式 %regex[]. | |
primaryArtifact | boolean | - | 在構建時, 這是否是一個主 artifact . 假如你不想在執行中 install or deploy它至本地倉庫代替預設的一 | 預設值是: true. |
recompressZippedFiles | boolean | 2.3 | 當zip包(jar,zip等)增加至war時, 是否再次壓縮, 再次壓縮可能產生更小的文件大小, 但是會顯著的增加執行時間 | 預設值是 true. |
resourceEncoding | String | 2.3 | 用於拷貝web資源的編碼 | 預設值是 ${project.build.sourceEncoding}. |
skip | boolean | 3.0.0 | 在你需要的時候, 你可以跳過此插件的執行, 但他不推薦使用, 但也有合適的場景預設值是: false. | |
supportMultiLineFiltering | boolean | 2.4 | 停止在文件末尾搜索 endToken | 預設值是 false. |
useCache | boolean | 2.1-alpha-1 | 是否應該使用緩來保存webapp跨多個runs的狀態, 這實特性, 所以預設沒有啟用 | 預設值是 false. |
useDefaultDelimiters | boolean | 3.0.0 | 將預設的分隔符增加至自定義的分隔符中, 如果有的話 | 預設值是 true. |
useJvmChmod | boolean | 2.4 | 是否使用 jvmChmod代替 cli chmod用於 forking 進程 | 預設值是true |
warSourceExcludes | String | - | 以逗號分隔的單詞列表, 表示當拷貝warSourceDirectory的內容時, 需要排除的 | |
warSourceIncludes | String | - | 以逗號分隔的單詞列表, 表示當拷貝warSourceDirectory的內容時, 需要包含的 | 預設值 是 ** |
webResources | Resource[] | - | 我們需要傳輸的webResources 列表 | |
webXml | File | - | 使用的web.xml文件的路徑 |