Maven?Assembly插件使用與標(biāo)簽詳解
一、介紹
Assembly 插件的主要作用是,允許用戶將項(xiàng)目輸出與它的依賴項(xiàng)、模塊、站點(diǎn)文檔、和其他文件一起組裝成一個(gè)可分發(fā)的歸檔文件。
二、常見(jiàn)的maven插件
| plugin | function |
|---|---|
| maven-jar-plugin | maven 默認(rèn)打包插件【springboot默認(rèn)打包方式】,用來(lái)創(chuàng)建 project jar |
| maven-shade-plugin | 用來(lái)打可執(zhí)行包,executable(fat) jar |
| maven-assembly-plugin | 支持定制化打包方式,例如 apache 項(xiàng)目的打包方式 |
三、使用
1.在pom.xml中引入assembly插件
2.創(chuàng)建assembly.xml
- assembly.xml展示
<assembly xmlns="http://maven.apache.org/ASSEMBLY/2.1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.1.0 http://maven.apache.org/xsd/assembly-2.1.0.xsd">
<!-- 編寫自定義的assembly文件 -->
</assembly>
四、標(biāo)簽介紹
1.插件引入時(shí)的標(biāo)簽介紹
- pom.xml
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.3.0</version>
<executions><!-- 執(zhí)行器 -->
<execution>
<id>make-assembly</id> <!--名字任意 -->
<phase>package</phase> <!-- 綁定到package生命周期階段上 -->
<goals>
<goal>single</goal><!-- 只運(yùn)行一次 -->
</goals>
<configuration>
<finalName>xxx</finalName><!-- 文件名 -->
<appendAssemblyId>{boolean}</appendAssemblyId><!-- true:finalName屬性值作為打包文件的前綴,assembly文件中的id作為緊隨其后的名稱;false:不與id連用-->
<descriptors> <!--描述文件路徑-->
<descriptor>src/main/resources/zip.xml</descriptor>
</descriptors>
</configuration>
</execution>
</executions>
</plugin>
2.assembly.xml中的標(biāo)簽介紹
id
id 標(biāo)識(shí)符,添加到生成文件名稱的后綴符。如果指定 id 的話,目標(biāo)文件則是 ${artifactId}-${id}.tar.gz
- 結(jié)構(gòu):
<id>xxx</id>
formats
支持的打包格式
- 結(jié)構(gòu):
<formats>
<format>xxx</format>
</formats>
| 標(biāo)簽名 | 值類型 | 描述 |
|---|---|---|
| format | String | 支持的打包格式,有zip,tar,tar.gz(or tgz),tar.bz2(or tbz2),tar.snappy,tar.xz(or txz),jar,dir,war格式類型 |
includeBaseDirectory
默認(rèn)為true。指定打的包是否包含打包層目錄(比如finalName是prefix,當(dāng)值為true,所有文件被放在包內(nèi)的prefix目錄下,否則直接放在包的根目錄下。finalName標(biāo)簽在pom文件中注冊(cè)插件里面的configuration標(biāo)簽下
- 結(jié)構(gòu):
<includeBaseDirectory>xxx</includeBaseDirectory>
baseDirectory
設(shè)置生成的程序集存檔的基目錄。 如果沒(méi)有設(shè)置此參數(shù),并且includeBaseDirectory == true,則${project.build. path (從2.2.1開(kāi)始)
- 結(jié)構(gòu):
<baseDirectory>xxx</baseDirectory>
includeSiteDirectory
默認(rèn)值:false。在最終的歸檔文件中包含一個(gè)站點(diǎn)目錄。 項(xiàng)目的站點(diǎn)目錄位置由程序集插件的siteDirectory參數(shù)確定
- 結(jié)構(gòu):
<includeSiteDirectory>xxxx</includeSiteDirectory>
containerDescriptorHandlers
常用的文件合并
- 結(jié)構(gòu):
<containerDescriptorHandlers>
<containerDescriptorHandler>
<handlerName/>
<configuration/>
</containerDescriptorHandler>
</containerDescriptorHandlers>
| 標(biāo)簽名 | 值類型 | 描述 |
|---|---|---|
| containerDescriptorHandler | List | 為進(jìn)入程序集存檔的文件配置過(guò)濾器,以支持聚合各種類型的描述符片段,如components.xml、web.xml等。 |
| handlerName | String | 處理程序的plexus角色提示,用于從容器查找 |
| configuration | DOM | 處理程序的配置選項(xiàng) |
提醒:configuration具體配置標(biāo)簽有哪些,官方暫沒(méi)有提供,網(wǎng)絡(luò)暫沒(méi)有找到完整數(shù)據(jù),故不展示
moduleSets
指定程序集中包含哪些模塊文件。 moduleSet通過(guò)提供一個(gè)或多個(gè)子元素來(lái)指定
- 結(jié)構(gòu):
<moduleSets>
<moduleSet>
<useAllReactorProjects/>
<includeSubModules/>
<includes/>
<excludes/>
<sources>
<useDefaultExcludes/>
<outputDirectory/>
<includes/>
<excludes/>
<fileMode/>
<directoryMode/>
<fileSets>
<fileSet>
<useDefaultExcludes/>
<outputDirectory/>
<includes/>
<excludes/>
<fileMode/>
<directoryMode/>
<directory/>
<lineEnding/>
<filtered/>
<nonFilteredFileExtensions/>
</fileSet>
</fileSets>
<includeModuleDirectory/>
<excludeSubModuleDirectories/>
<outputDirectoryMapping/>
</sources>
<binaries>
<outputDirectory/>
<includes/>
<excludes/>
<fileMode/>
<directoryMode/>
<attachmentClassifier/>
<includeDependencies/>
<dependencySets>
<dependencySet>
<outputDirectory/>
<includes/>
<excludes/>
<fileMode/>
<directoryMode/>
<useStrictFiltering/>
<outputFileNameMapping/>
<unpack/>
<unpackOptions>
<includes/>
<excludes/>
<filtered/>
<nonFilteredFileExtensions/>
<lineEnding/>
<useDefaultExcludes/>
<encoding/>
</unpackOptions>
<scope/>
<useProjectArtifact/>
<useProjectAttachments/>
<useTransitiveDependencies/>
<useTransitiveFiltering/>
</dependencySet>
</dependencySets>
<unpack/>
<unpackOptions>
<includes/>
<excludes/>
<filtered/>
<nonFilteredFileExtensions/>
<lineEnding/>
<useDefaultExcludes/>
<encoding/>
</unpackOptions>
<outputFileNameMapping/>
</binaries>
</moduleSet>
</moduleSets>
| 標(biāo)簽名 | 值類型 | 描述 |
|---|---|---|
| moduleSet | ModuleSet | 一個(gè)或多個(gè)項(xiàng)目存在于項(xiàng)目的pml .xml中。 這允許您包含屬于項(xiàng)目的的源代碼或二進(jìn)制文件。 |
| useAllReactorProjects | boolean | 默認(rèn)為false。為true,則該插件將包含當(dāng)前反應(yīng)器中用于處理的所有項(xiàng)目。 這些將受到包括/排除規(guī)則的約束(從2.2開(kāi)始) |
| includeSubModules | boolean | 默認(rèn)true。如果設(shè)置為false,插件將從這個(gè)模塊集的處理中排除子模塊。 否則,它將處理所有子模塊,每個(gè)子模塊都要包含/排除規(guī)則。 (從2.2.1開(kāi)始) |
| includes/include* | List | 包含哪些 |
| excludes/exclude* | List | 排除哪些 |
| source | ModuleSources | 插件將在結(jié)果程序集中包含該集合中包含的模塊的源文件 |
| binaries | ModuleBinaries | 插件將在結(jié)果程序集中包含該集合中包含的模塊的二進(jìn)制文件 |
source
包含用于在程序集中包含項(xiàng)目模塊的源文件的配置選項(xiàng)。
| 標(biāo)簽名 | 值類型 | 描述 |
|---|---|---|
| useDefaultExcludes | boolean | 默認(rèn)為true。在計(jì)算受此集合影響的文件時(shí),是否應(yīng)該使用標(biāo)準(zhǔn)排除模式,比如匹配CVS和Subversion元數(shù)據(jù)文件的那些模式。 |
| outputDirectory | String | 相對(duì)于程序集的根目錄的根設(shè)置輸出目錄。 例如,“log”將把指定的文件放到log目錄中。 |
| includes/include* | List | 包含哪些 |
| excludes/exclude* | List | 排除哪些 |
| fileMode | String | 默認(rèn)值為0644。類似于UNIX權(quán)限,設(shè)置包含的文件的文件模式。 這是一個(gè)八進(jìn)制值。 格式:(User)(Group)(Other),其中每個(gè)組件都是Read = 4, Write = 2, Execute = 1的和。 例如:“0644”表示“用戶讀寫”、“組”和“其他只讀”。 |
| directoryMode | String | 默認(rèn)值為0755。類似于UNIX權(quán)限,設(shè)置包含目錄的目錄模式。 這是一個(gè)八進(jìn)制值。 格式:(User)(Group)(Other),其中每個(gè)組件都是Read = 4, Write = 2, Execute = 1的和。 例如,0755表示“用戶讀寫”、“組”和“其他只讀”。 |
| fileSets/fileSet | List | 指定要將每個(gè)包含模塊中的哪些文件組包含在程序集中。 通過(guò)提供一個(gè)或多個(gè)子元素來(lái)指定文件集 |
| includeModuleDirectory | boolean | 默認(rèn)值為true。指定是否應(yīng)該將模塊的finalName前綴到應(yīng)用于它的任何文件集的outputDirectory值 |
| excludeSubModuleDirectories | boolean | 默認(rèn)值為true。指定當(dāng)前模塊下的子模塊目錄是否應(yīng)從應(yīng)用于該模塊的文件集中排除。 如果你只是想復(fù)制與這個(gè)ModuleSet匹配的模塊列表的源代碼,忽略(或單獨(dú)處理)存在于當(dāng)前目錄下的模塊,這可能是有用的。 |
| outputDirectoryMapping | String | Default value is: ${module.artifactId}。設(shè)置此程序集中包含的所有模塊基目錄的映射模式。 注意:該字段僅在includeModuleDirectory == true時(shí)使用 |
binaries
包含用于在程序集中包含項(xiàng)目模塊的二進(jìn)制文件的配置選項(xiàng)
| 標(biāo)簽名 | 值類型 | 描述 |
|---|---|---|
| outputDirectory | String | 相對(duì)于程序集的根目錄的根設(shè)置輸出目錄 |
| includes/include* | List | 包含哪些 |
| excludes/exclude* | List | 排除哪些 |
| fileMode | String | 默認(rèn)值為0644。類似于UNIX權(quán)限,設(shè)置包含的文件的文件模式。 這是一個(gè)八進(jìn)制值。 格式:(User)(Group)(Other),其中每個(gè)組件都是Read = 4, Write = 2, Execute = 1的和。 例如:“0644”表示“用戶讀寫”、“組”和“其他只讀”。 |
| directoryMode | String | 默認(rèn)值為0755。類似于UNIX權(quán)限,設(shè)置包含目錄的目錄模式。 這是一個(gè)八進(jìn)制值。 格式:(User)(Group)(Other),其中每個(gè)組件都是Read = 4, Write = 2, Execute = 1的和。 例如,0755表示“用戶讀寫”、“組”和“其他只讀”。 |
| attachmentClassifier | String | 當(dāng)指定時(shí),attachmentClassifier將導(dǎo)致組裝人員查看附加到模塊的工件,而不是主項(xiàng)目工件。 如果它能找到匹配指定分類器的附加工件,它將使用它; 否則,它將拋出異常 |
| includeDependencies | boolean | 默認(rèn)值為true。如果設(shè)置為true,插件將包含這里包含的項(xiàng)目模塊的直接和過(guò)渡依賴關(guān)系。 否則,它將只包含模塊包。 |
| dependencySets/dependencySet | List | 指定要包含在程序集中的模塊的哪些依賴項(xiàng)。 dependencySet可以通過(guò)提供一個(gè)或多個(gè)子元素來(lái)指定 |
| unpack | boolean | 默認(rèn)值為true。如果設(shè)置為true,此屬性將把所有模塊包解壓到指定的輸出目錄。 當(dāng)設(shè)置為false時(shí),模塊包將作為存檔文件(jar)包含。 |
| unpackOptions | UnpackOptions | 允許對(duì)從模塊工件解包的項(xiàng)指定包含和排除,以及過(guò)濾選項(xiàng) |
| outputFileNameMapping | String | 設(shè)置此程序集中包含的所有非UNPACKED依賴關(guān)系的映射模式。(由于2.2-beta-2; 2.2-beta-1使用${artifactId} - ${version} ${dashClassifier?}。${extension}作為默認(rèn)值)注意:如果dependencySet指定unpack == true,則outputFileNameMapping將不要使用; 在這些情況下,使用outputDirectory。有關(guān)可用于outputFileNameMapping參數(shù)的條目的更多詳細(xì)信息,請(qǐng)參閱插件FAQ。默認(rèn)值是:${module.artifactId} - ${module.version} ${dashClassifier?}.${module.extension}。 |
unpackOptions
指定包含/排除/過(guò)濾從存檔中提取的項(xiàng)的選項(xiàng)
| 標(biāo)簽名 | 值類型 | 描述 |
|---|---|---|
| includes/include* | List | 包含哪些 |
| excludes/exclude* | List | 排除哪些 |
| filtered | boolean | 默認(rèn)值為false。是否使用構(gòu)建配置中的屬性,在文件從歸檔文件解壓縮時(shí)過(guò)濾文件中的符號(hào) |
| nonFilteredFileExtensions/nonFilteredFileExtension* | List | 附加的文件擴(kuò)展名不應(yīng)用過(guò)濾 |
| lineEnding | String | 設(shè)置文件的行結(jié)束符。 (從2.2開(kāi)始)有效值:“keep” -保留所有行尾; “unix” -使用unix風(fēng)格的行結(jié)束符 ;“lf” -使用單行換行結(jié)束符 ;“dos” -使用dos風(fēng)格的行結(jié)尾 ;“crlf” -使用回車,換行 |
| useDefaultExcludes | boolean | 默認(rèn)值為true。在計(jì)算受此集合影響的文件時(shí),是否應(yīng)該使用標(biāo)準(zhǔn)排除模式,比如匹配CVS和Subversion元數(shù)據(jù)文件的那些模式。 對(duì)于向后兼容性,默認(rèn)值為true。 |
| encoding | String | 允許指定在解壓縮存檔時(shí)使用的編碼,對(duì)于支持指定編碼的解壓縮存檔。 如果未指定,將使用archiver默認(rèn)值。 歸檔文件默認(rèn)值通常表示正常(現(xiàn)代)的值。 |
fileSets
管理一組文件的存放位置
結(jié)構(gòu):
<fileSets>
<fileSet>
<useDefaultExcludes/>
<outputDirectory/>
<includes/>
<excludes/>
<fileMode/>
<directoryMode/>
<directory/>
<lineEnding/>
<filtered/>
<nonFilteredFileExtensions/>
</fileSet>
</fileSets>
| 標(biāo)簽名 | 值類型 | 描述 |
|---|---|---|
| useDefaultExcludes | boolean | 默認(rèn)值為true。在計(jì)算受此集合影響的文件時(shí),是否應(yīng)該使用標(biāo)準(zhǔn)排除模式,比如匹配CVS和Subversion元數(shù)據(jù)文件的那些模式。 對(duì)于向后兼容性,默認(rèn)值為true。 |
| outputDirectory | String | 指定文件集合的輸出目錄,該目錄是相對(duì)于根目錄 |
| includes/include* | List | 包含文件 |
| excludes/exclude* | List | 排除文件 |
| fileMode | String | 默認(rèn)值為0644。類似于UNIX權(quán)限,設(shè)置包含的文件的文件模式。 這是一個(gè)八進(jìn)制值。 格式:(User)(Group)(Other),其中每個(gè)組件都是Read = 4, Write = 2, Execute = 1的和。 例如:“0644”表示“用戶讀寫”、“組”和“其他“只讀。 |
| directoryMode | String | 默認(rèn)值為0755。類似于UNIX權(quán)限,設(shè)置包含目錄的目錄模式。 這是一個(gè)八進(jìn)制值。 格式:(User)(Group)(Other),其中每個(gè)組件都是Read = 4, Write = 2, Execute = 1的和。 例如,0755表示“用戶讀寫”、“組”和“其他”只讀。 |
| directory | String | 設(shè)置模塊目錄中的絕對(duì)或相對(duì)位置。 例如,"src/main/bin"會(huì)選擇定義依賴項(xiàng)的項(xiàng)目的這個(gè)子目錄 |
| lineEnding | String | 設(shè)置文件的行結(jié)束符。 (從2.2開(kāi)始)有效值:“keep” -保留所有行尾; “unix” -使用unix風(fēng)格的行結(jié)束符 ;“lf” -使用單行換行結(jié)束符 ;“dos” -使用dos風(fēng)格的行結(jié)尾 ;“crlf” -使用回車,換行 |
| filtered | boolean | 默認(rèn)值為false。是否使用構(gòu)建配置中的屬性在復(fù)制文件時(shí)過(guò)濾符號(hào) |
| nonFilteredFileExtensions/nonFilteredFileExtension* | List | 附加的文件擴(kuò)展名不應(yīng)用過(guò)濾 |
files
可以指定目的文件名到指定目錄,其他和 fileSets 相同
結(jié)構(gòu):
<files>
<file>
<source/>
<sources/>
<outputDirectory/>
<destName/>
<fileMode/>
<lineEnding/>
<filtered/>
</file>
</files>
| 標(biāo)簽名 | 值類型 | 描述 |
|---|---|---|
| source | String | 源文件,相對(duì)路徑或絕對(duì)路徑 |
| sources/source* | List | 組合并包含在程序集中的模塊文件目錄中的絕對(duì)或相對(duì)路徑集 |
| outputDirectory | String | 輸出目錄 |
| destName | String | 設(shè)置目標(biāo)文件名。 Default與源文件的名稱相同 |
| fileMode | String | 默認(rèn)值為0644。類似于UNIX權(quán)限,設(shè)置包含的文件的文件模式。 這是一個(gè)八進(jìn)制值。 格式:(User)(Group)(Other),其中每個(gè)組件都是Read = 4, Write = 2, Execute = 1的和。 例如:“0644”表示“用戶讀寫”、“組”和“其他只讀”。 |
| lineEnding | String | 設(shè)置文件的行結(jié)束符。 (從2.2開(kāi)始)有效值:“keep” -保留所有行尾; “unix” -使用unix風(fēng)格的行結(jié)束符 ;“lf” -使用單行換行結(jié)束符 ;“dos” -使用dos風(fēng)格的行結(jié)尾 ;“crlf” -使用回車,換行 |
| filtered | boolean | 設(shè)置是否過(guò)濾文件 |
dependencySets
用來(lái)定制工程依賴 jar 包的打包方式
結(jié)構(gòu):
<dependencySets>
<dependencySet>
<outputDirectory/>
<includes/>
<excludes/>
<fileMode/>
<directoryMode/>
<useStrictFiltering/>
<outputFileNameMapping/>
<unpack/>
<unpackOptions>
<includes/>
<excludes/>
<filtered/>
<nonFilteredFileExtensions/>
<lineEnding/>
<useDefaultExcludes/>
<encoding/>
</unpackOptions>
<scope/>
<useProjectArtifact/>
<useProjectAttachments/>
<useTransitiveDependencies/>
<useTransitiveFiltering/>
</dependencySet>
</dependencySets>
| 標(biāo)簽名 | 值類型 | 描述 |
|---|---|---|
| outputDirectory | String | 指定包依賴目錄,該目錄是相對(duì)于根目錄 |
| includes/include* | List | 包含依賴 |
| excludes/exclude* | List | 排除依賴 |
| fileMode | String | 默認(rèn)值為0644。類似于UNIX權(quán)限,設(shè)置包含的文件的文件模式。 這是一個(gè)八進(jìn)制值。 格式:(User)(Group)(Other),其中每個(gè)組件都是Read = 4, Write = 2, Execute = 1的和。 例如:“0644”表示“用戶讀寫”、“組”和“其他只讀”。 |
| directoryMode | String | 設(shè)置文件的行結(jié)束符。 (從2.2開(kāi)始)有效值:“keep” -保留所有行尾; “unix” -使用unix風(fēng)格的行結(jié)束符 ;“lf” -使用單行換行結(jié)束符 ;“dos” -使用dos風(fēng)格的行結(jié)尾 ;“crlf” -使用回車,換行 |
| useStrictFiltering | boolean | 默認(rèn)值為true。如果指定為true,那么在程序集創(chuàng)建過(guò)程中任何用于過(guò)濾實(shí)際構(gòu)件的包含/排除模式都將導(dǎo)致構(gòu)建失敗,并顯示錯(cuò)誤。這是為了強(qiáng)調(diào)過(guò)時(shí)的包含或排除,或者表示程序集描述符配置不正確。(從2.2開(kāi)始) |
| outputFileNameMapping | String | 設(shè)置此程序集中包含的所有非UNPACKED依賴關(guān)系的映射模式。(由于2.2-beta-2; 2.2-beta-1使用${artifactId} - ${version} ${dashClassifier?}。${extension}作為默認(rèn)值)注意:如果dependencySet指定unpack == true,則outputFileNameMapping將不要使用; 在這些情況下,使用outputDirectory。有關(guān)可用于outputFileNameMapping參數(shù)的條目的更多詳細(xì)信息,請(qǐng)參閱插件FAQ。默認(rèn)值是:${module.artifactId} - ${module.version} ${dashClassifier?}.${module.extension}。 |
| unpack | boolean | 默認(rèn)為false。如果設(shè)置為true,此屬性將把所有依賴項(xiàng)解壓縮到指定的輸出目錄中。 當(dāng)設(shè)置為false時(shí),依賴項(xiàng)將被包含為存檔(jar)。 只能解壓jar, zip, tar.gz和tar.gz。 bz。 |
| unpackOptions | UnpackOptions | 允許對(duì)從依賴項(xiàng)工件解包的項(xiàng)指定包含和排除,以及過(guò)濾選項(xiàng)。 |
| scope | String | 默認(rèn)為runtime。設(shè)置這個(gè)dependencySet的依賴范圍 |
| useProjectArtifact | boolean | 默認(rèn)為true。確定當(dāng)前項(xiàng)目生成期間生成的工件是否應(yīng)包含在此依賴項(xiàng)集中 |
| useProjectAttachments | boolean | 默認(rèn)為false。確定是否應(yīng)將當(dāng)前項(xiàng)目生成期間產(chǎn)生的附加構(gòu)件包括在此依賴項(xiàng)集中 |
| useTransitiveDependencies | boolean | 默認(rèn)為true。確定是否將傳遞依賴項(xiàng)包含在當(dāng)前依賴項(xiàng)集的處理中。 如果為真,包含/排除/useTransitiveFiltering將應(yīng)用于除了主項(xiàng)目依賴工件之外的可傳遞依賴工件。 如果為false, useTransitiveFiltering是無(wú)意義的,并且包含/排除只會(huì)影響項(xiàng)目的直接依賴關(guān)系 |
| useTransitiveFiltering | boolean | 默認(rèn)為false。確定此依賴項(xiàng)集中的包含/排除模式是否將應(yīng)用于給定工件的傳遞路徑。 如果為真,并且當(dāng)前工件是由另一個(gè)匹配包含或排除模式的工件引入的傳遞依賴項(xiàng),那么當(dāng)前工件也將應(yīng)用相同的包含/排除邏輯。 默認(rèn)情況下,該值為false,以保持與版本2.1的向后兼容性。 這意味著包含/排除只直接應(yīng)用于當(dāng)前工件,而不應(yīng)用于引入它的工件的傳遞集。 |
repositories
指定程序集中包含哪些存儲(chǔ)庫(kù)文件。 通過(guò)提供一個(gè)或多個(gè)子元素來(lái)指定存儲(chǔ)庫(kù)
結(jié)構(gòu):
<repositories>
<repository>
<outputDirectory/>
<includes/>
<excludes/>
<fileMode/>
<directoryMode/>
<includeMetadata/>
<groupVersionAlignments>
<groupVersionAlignment>
<id/>
<version/>
<excludes/>
</groupVersionAlignment>
</groupVersionAlignments>
<scope/>
</repository>
</repositories>
repository
定義要包含在程序集中的Maven存儲(chǔ)庫(kù)。 可以包含在存儲(chǔ)庫(kù)中的構(gòu)件是項(xiàng)目的依賴構(gòu)件。 創(chuàng)建的存儲(chǔ)庫(kù)包含所需的元數(shù)據(jù)條目,還包含sha1和md5校驗(yàn)和。 這對(duì)于創(chuàng)建將部署到內(nèi)部存儲(chǔ)庫(kù)的存檔非常有用。
注意:目前,只允許來(lái)自中央存儲(chǔ)庫(kù)的工件。
| 標(biāo)簽名 | 值類型 | 描述 |
|---|---|---|
| outputDirectory | String | 指定包依賴目錄,該目錄是相對(duì)于根目錄 |
| includes/include* | List | 當(dāng)出現(xiàn)子元素時(shí),它們定義一組要包含的工件坐標(biāo)。 如果不存在,則<包括>表示所有有效值。 工件坐標(biāo)可以以簡(jiǎn)單的groupId:artifactId形式給出,也可以以groupId:artifactId:type[:classifier]:version形式完全限定。 此外,還可以使用通配符,如*:maven-* |
| excludes/exclude* | List | 當(dāng)出現(xiàn)子元素時(shí),它們定義一組要排除的依賴構(gòu)件坐標(biāo)。 如果不存在任何排除,則<排除>表示沒(méi)有排除。 工件坐標(biāo)可以以簡(jiǎn)單的groupId:artifactId形式給出,也可以以groupId:artifactId:type[:classifier]:version形式完全限定。 此外,還可以使用通配符,如*:maven-* |
| fileMode | String | 默認(rèn)值為0644。類似于UNIX權(quán)限,設(shè)置包含的文件的文件模式。 這是一個(gè)八進(jìn)制值。 格式:(User)(Group)(Other),其中每個(gè)組件都是Read = 4, Write = 2, Execute = 1的和。 例如:“0644”表示“用戶讀寫”、“組”和“其他只讀”。 |
| directoryMode | String | 設(shè)置文件的行結(jié)束符。 (從2.2開(kāi)始)有效值:“keep” -保留所有行尾; “unix” -使用unix風(fēng)格的行結(jié)束符 ;“lf” -使用單行換行結(jié)束符 ;“dos” -使用dos風(fēng)格的行結(jié)尾 ;“crlf” -使用回車,換行 |
| includeMetadata | boolean | 默認(rèn)為true。如果設(shè)置為true,該屬性將觸發(fā)存儲(chǔ)庫(kù)元數(shù)據(jù)的創(chuàng)建,從而允許將存儲(chǔ)庫(kù)用作功能性遠(yuǎn)程存儲(chǔ)庫(kù)。 |
| groupVersionAlignments | List | 指定要將一組工件與指定的版本保持一致。 通過(guò)提供一個(gè)或多個(gè)子元素來(lái)指定groupVersionAlignment。 |
| scope | String | 默認(rèn)為runtime。指定此存儲(chǔ)庫(kù)中包含的工件的范圍 |
groupVersionAlignment
允許一組工件與指定的版本對(duì)齊
| 標(biāo)簽名 | 值類型 | 描述 |
|---|---|---|
| id | String | 您希望為其對(duì)齊版本的工件的groupId |
| version | String | 要將此組對(duì)齊到的版本 |
| excludes/exclude* | List | 當(dāng)出現(xiàn)子元素時(shí),它們定義要排除的工件的artifactid。 如果不存在任何排除,則<排除>表示沒(méi)有排除。 通過(guò)提供一個(gè)或多個(gè)子元素來(lái)指定排除 |
componentDescriptors
指定要包含在程序集中的共享組件xml文件位置。 指定的位置必須相對(duì)于描述符的基位置。 如果描述符是通過(guò)類路徑中的元素找到的,那么它指定的任何組件也會(huì)在類路徑中找到。 如果它是通過(guò)元素的路徑名找到的,這里的值將被解釋為相對(duì)于項(xiàng)目basedir的路徑。 當(dāng)找到多個(gè)componentDescriptors時(shí),它們的內(nèi)容將被合并。 查看描述符組件以了解更多信息。 componentDescriptor是通過(guò)提供一個(gè)或多個(gè)子元素來(lái)指定的
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- Maven Assembly實(shí)戰(zhàn)教程
- maven插件maven-assembly-plugin打包歸納文件zip/tar使用
- maven-assembly-plugin報(bào)紅無(wú)法加載報(bào)錯(cuò):Plugin?‘maven-assembly-plugin:‘?not?found
- maven?插件?assembly?打tar.gz包的詳細(xì)過(guò)程
- 使用maven-assembly-plugin如何將system 依賴范圍的jar以class 方式打包進(jìn) jar包中
- Maven?項(xiàng)目用Assembly打包可執(zhí)行jar包的方法
- maven assembly打包生成Java應(yīng)用啟動(dòng)腳本bat和sh的方法
相關(guān)文章
全面解析Java支持的數(shù)據(jù)類型及Java的常量和變量類型
這篇文章主要介紹了Java支持的數(shù)據(jù)類型及Java的常量和變量類型,是Java入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2016-02-02
SpringBoot整合Netty心跳機(jī)制過(guò)程詳解
這篇文章主要介紹了SpringBoot整合Netty心跳機(jī)制過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-02-02
Java使用跳轉(zhuǎn)結(jié)構(gòu)實(shí)現(xiàn)隊(duì)列和棧流程詳解
這篇文章主要介紹了Java使用跳轉(zhuǎn)結(jié)構(gòu)實(shí)現(xiàn)隊(duì)列和棧流程,連續(xù)結(jié)構(gòu)和跳轉(zhuǎn)結(jié)構(gòu)是數(shù)據(jù)結(jié)構(gòu)中常見(jiàn)的兩種基本數(shù)據(jù)結(jié)構(gòu),而我們本次的主角棧和隊(duì)列都 既可以使用使用跳轉(zhuǎn)結(jié)構(gòu)實(shí)現(xiàn)也可以使用連續(xù)結(jié)構(gòu)實(shí)現(xiàn)2023-04-04
java 正則,object中兩個(gè)方法的使用(詳解)
下面小編就為大家?guī)?lái)一篇java 正則,object中兩個(gè)方法的使用(詳解)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-08-08
vue+springboot+shiro+jwt實(shí)現(xiàn)登錄功能
這篇文章主要介紹了vue+springboot+shiro+jwt實(shí)現(xiàn)登錄功能,本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-04-04

