說明
項目部署并不是一個單一的jar包就完事穗泵,實際上除了jar包還有很多其他文件柴灯,比如sql腳本滑负、安裝腳本等其他文件,本文要說的就是如何將這些文件統(tǒng)一打包成一個壓縮包文件至会,直接上傳linux服務(wù)器安裝离咐。
多環(huán)境配置
一個項目從立項到最終的發(fā)布上線往往有在不同的環(huán)境運(yùn)行,比如開發(fā)時的開發(fā)環(huán)境奋献、測試時的測試環(huán)境健霹、線上環(huán)境等等,頻繁的變動勢必會出錯瓶蚂,較好的解決方式便是配置多個環(huán)境糖埋,使用哪個環(huán)境便開啟哪個環(huán)境,避免重復(fù)的改動配置窃这。
Profiles-多環(huán)境的配置
可以通過兩種方式配置:
通過application.yml中編碼指定 spring.profiles.active=test 方式指定
通過mvn中profiles來區(qū)分不同環(huán)境對應(yīng)的配置文件夾瞳别,人工可以手動在idea勾選生成不同環(huán)境的包
application.yml配置
spring:
profiles:
active: test //表示application-test.yml 文件為當(dāng)前項目使用文件
thymeleaf:
encoding: UTF-8
prefix: classpath:/templates/
mode: HTML
mvn中profiles配置
<profiles>
<profile>
<!-- 唯一標(biāo)識 -->
<id>test</id>
<!-- 屬性配置-自定義 -->
<properties>
<!-- 傳遞給腳本的參數(shù)-標(biāo)簽名自定義,作為取值的變量名 -->
<activeProfile>test</activeProfile>
<package-name>demo</package-name>
<!-- 啟動類 -->
<boot-main>com.example.demo.SpringboothyemfApplication</boot-main>
</properties>
<activation>
<!-- 指定默認(rèn)配置文件 -->
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<!-- 唯一標(biāo)識 -->
<id>prod</id>
<!-- 屬性配置-自定義 -->
<properties>
<!-- 傳遞給腳本的參數(shù)-標(biāo)簽名自定義杭攻,作為取值的變量名 -->
<activeProfile>prod</activeProfile>
<package-name>demo</package-name>
<!-- 啟動類 -->
<boot-main>com.example.demo.SpringboothyemfApplication</boot-main>
</properties>
</profile>
</profiles>
節(jié)點(diǎn)說明:
- id:用來指定不同環(huán)境配置文件標(biāo)識
- properties:該節(jié)點(diǎn)中的節(jié)點(diǎn)是可作為參數(shù)傳遞給其他配置文件祟敛,如我這里的package-name節(jié)點(diǎn)值就可以在另外的assembly.xml或者shell腳本文件中通過${package-name}獲取到
- activeByDefault:指定默認(rèn)環(huán)境配置文件夾
Assembly打包配置
有這樣一個場景,如何把配置文件兆解、第三方等依賴包(不想放到工程jar)馆铁、安裝文件等文件壓縮成一個zip包,方便上傳到Linux锅睛?
此時便可通過maven-jar-plugin和maven-assembly-plugin來完成場景中的功能
maven-jar-plugin
maven-jar-plugin是一個maven打包(jar)插件埠巨,它的主要作用是設(shè)定MAINFEST.MF文件中的參數(shù),比如指定運(yùn)行的Main class现拒、將依賴的jar包加入classpath中等辣垒。
注意:
maven插件功能-編譯、打包印蔬、發(fā)布都是在${project.build.directory}/classes文件路徑下勋桶,測試則在test-classes下
MAINFEST.MF是springboot打包成jar包后的配置文件,主要是配置一些啟動參數(shù)侥猬,比如啟動類
配置詳情
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.3.0</version>
<configuration>
<archive> <!-- 存檔 -->
<addMavenDescriptor/> <!-- 添加maven 描述 -->
<compress/> <!-- 壓縮 -->
<forced/>
<index/>
<manifest> <!-- 配置清單(MANIFEST)-->
<addClasspath/> <!-- 添加到classpath 開關(guān) -->
<addDefaultImplementationEntries/>
<addDefaultSpecificationEntries/>
<addExtensions/>
<classpathLayoutType/>
<classpathMavenRepositoryLayout/>
<classpathPrefix/> <!-- classpath 前綴 -->
<customClasspathLayout/>
<mainClass/> <!-- 程序主函數(shù)入口 -->
<packageName/> <!-- 打包名稱 -->
<useUniqueVersions/> <!-- 使用唯一版本 -->
</manifest>
<manifestEntries> <!-- 配置清單(MANIFEST)屬性 -->
<key>value</key>
</manifestEntries>
<manifestFile/> <!-- MANIFEST 文件位置 -->
<manifestSections>
<manifestSection>
<name/>
<manifestEntries>
<key>value</key>
</manifestEntries>
<manifestSection/>
</manifestSections>
<pomPropertiesFile/>
</archive>
<excludes> <!-- 過濾掉不希望包含在jar中的文件 -->
<exclude/>
</excludes>
<includes> <!-- 添加文件到j(luò)ar中的文件 -->
<include/>
</includes>
</configuration>
</plugin>
最小化配置
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.0.2</version>
<configuration>
<archive>
<addMavenDescriptor>false</addMavenDescriptor>
<manifest>
<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>
<mainClass>com.meix.boot.Application</mainClass>
</manifest>
<manifestEntries>
<Class-Path>./</Class-Path>
</manifestEntries>
</archive>
<!-- 過濾掉不希望包含在jar中的文件 -->
<excludes>
<exclude>*.xml</exclude>
<exclude>spring/**</exclude>
<exclude>config/**</exclude>
</excludes>
<!-- 這里不做舉例了 -->
<includes>
<include></include>
</includes>
</configuration>
</plugin>
注意:在這里我們使用最小化配置即可
maven-assembly-plugin
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.4</version>
<configuration>
<descriptors>
<!-- assembly.xml配置文件路徑 -->
<descriptor>${project.basedir}/src/main/assembly/assembly.xml</descriptor>
</descriptors>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
值得注意的地方如下幾點(diǎn):
- mainClass節(jié)點(diǎn):用來指定啟動main函數(shù)入口類路徑例驹,如這里的:com.sm.EurekaServerApplication
- excludes節(jié)點(diǎn):排除主jar包中配置等一些列后綴文件,因為我們要把這些配置文件放到主包外面
- descriptor節(jié)點(diǎn):用來指定assembly插件對應(yīng)的assembly.xml配置文件
assembly.xml的配置
<assembly xmlns="http://maven.apache.org/ASSEMBLY/2.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.0.0 http://maven.apache.org/xsd/assembly-2.0.0.xsd
http://maven.apache.org/ASSEMBLY/2.0.0 ">
<id>${activeProfile}</id>
<!--打包成一個用于發(fā)布的zip文件-->
<formats>
<format>zip</format>
</formats>
<!--true:zip中生成一級目錄(此處屏蔽陵究,配合腳本需要profiles后綴)-->
<includeBaseDirectory>false</includeBaseDirectory>
<dependencySets>
<dependencySet>
<!--打包進(jìn)zip文件的lib目錄-->
<useProjectArtifact>false</useProjectArtifact>
<outputDirectory>${package-name}-${activeProfile}/lib</outputDirectory>
<unpack>false</unpack>
</dependencySet>
</dependencySets>
<fileSets>
<!-- 配置文件打包進(jìn)zip文件的conf目錄 -->
<fileSet>
<directory>${project.basedir}/src/main/profiles/${activeProfile}</directory>
<outputDirectory>${package-name}-${activeProfile}/conf</outputDirectory>
<includes>
<include>**/*</include>
<!--<include>*.xml</include>-->
<!--<include>*.properties</include>-->
<!--<include>*.yml</include>-->
</includes>
</fileSet>
<!--啟動腳本打包進(jìn)zip文件-->
<fileSet>
<directory>${project.basedir}/src/main/scripts</directory>
<outputDirectory></outputDirectory>
<includes>
<include>**/*</include>
</includes>
<!-- 文件文件權(quán)限為777 -->
<fileMode>777</fileMode>
<!-- 目錄權(quán)限為777 -->
<directoryMode>777</directoryMode>
<!--腳本中參數(shù)變量為pom中的值 關(guān)鍵-->
<filtered>true</filtered>
</fileSet>
<!-- 項目編譯出來的jar打包進(jìn)zip文件 -->
<fileSet>
<directory>${project.build.directory}</directory>
<outputDirectory>${package-name}-${activeProfile}/</outputDirectory>
<includes>
<include>*.jar</include>
</includes>
</fileSet>
</fileSets>
</assembly>
重點(diǎn)節(jié)點(diǎn)介紹:
- formats節(jié)點(diǎn):把配置文件和jar包等壓縮成什么文件格式眠饮,這里可以有:zip,tar等
- fileMode節(jié)點(diǎn):指定scripts目錄下腳本文件(這里是:shenniu_publish.sh)在linux上文件權(quán)限為777
- filtered節(jié)點(diǎn):腳本中參數(shù)變量為pom的profiles中properties的值(該配置铜邮,是把mvn中屬性值映射生成到sh文件中仪召,如:${package-name})
assembly配置詳解
<assembly xmlns="http://maven.apache.org/ASSEMBLY/2.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.0.0 http://maven.apache.org/xsd/assembly-2.0.0.xsd">
<!--
設(shè)置此程序集的標(biāo)識寨蹋。這是來自此項目的特定文件組合的符號名稱。此外扔茅,除了用于通過將生成的歸檔的值附加到組合包以明確命名組合包之外已旧,該ID在部署時用作工件的分類器。
-->
<!--string-->
<id/>
<!--
(許多) 指定程序集的格式召娜。通過目標(biāo)參數(shù)而不是在這里指定格式通常會更好运褪。例如,允許不同的配置文件生成不同類型的檔案玖瘸。
可以提供多種格式秸讹,裝配體插件將生成每種所需格式的檔案。部署項目時雅倒,所有指定的文件格式也將被部署璃诀。
通過在<format>子元素中提供以下值之一來指定格式:
“zip” - 創(chuàng)建一個ZIP文件格式
“tar” - 創(chuàng)建一個TAR格式
“tar.gz”或“tgz” - 創(chuàng)建一個gzip'd TAR格式
“tar.bz2”或“tbz2” - 創(chuàng)建一個bzip'd TAR格式
“tar.snappy” - 創(chuàng)建一個靈活的TAR格式
“tar.xz”或“txz” - 創(chuàng)建一個xz'd TAR格式
“jar” - 創(chuàng)建一個JAR格式
“dir” - 創(chuàng)建分解的目錄格式
“戰(zhàn)爭” - 創(chuàng)建一個WAR格式
-->
<!--List<String>-->
<formats/>
<!--
在最終歸檔中包含一個基本目錄。例如蔑匣,如果您正在創(chuàng)建一個名為“your-app”的程序集劣欢,則將includeBaseDirectory設(shè)置為true將創(chuàng)建一個包含此基本目錄的歸檔文件。
如果此選項設(shè)置為false裁良,則創(chuàng)建的存檔將其內(nèi)容解壓縮到當(dāng)前目錄凿将。
默認(rèn)值是:true。
-->
<!--boolean-->
<includeBaseDirectory/>
<!--
設(shè)置生成的程序集歸檔的基本目錄价脾。如果沒有設(shè)置牧抵,并且includeBaseDirectory == true,則將使用$ {project.build.finalName}侨把。(從2.2-beta-1開始)
-->
<!--string-->
<baseDirectory/>
<!--
在最終檔案中包含一個網(wǎng)站目錄灭忠。項目的站點(diǎn)目錄位置由Assembly Plugin的siteDirectory參數(shù)確定。
默認(rèn)值是:false座硕。
-->
<!--boolean-->
<includeSiteDirectory/>
<!--
(許多) 從常規(guī)歸檔流中過濾各種容器描述符的組件集合,因此可以將它們聚合然后添加涕蜂。
-->
<!--List<ContainerDescriptorHandlerConfig>-->
<containerDescriptorHandlers>
<!--
配置文件頭部的過濾器华匾,以啟用各種類型的描述符片段(如components.xml,web.xml等)的聚合机隙。
-->
<containerDescriptorHandler>
<!--
處理程序的plexus角色提示蜘拉,用于從容器中查找。
-->
<!--string-->
<handlerName/>
<!--
處理程序的配置選項有鹿。
-->
<!--DOM-->
<configuration/>
</containerDescriptorHandler>
</containerDescriptorHandlers>
<!--
(許多) 指定在程序集中包含哪些模塊文件旭旭。moduleSet是通過提供一個或多個<moduleSet>子元素來指定的。
-->
<!--List<ModuleSet>-->
<moduleSets>
<!--
moduleSet表示一個或多個在項目的pom.xml中存在的<module>項目葱跋。這使您可以包含屬于項目<modules>的源代碼或二進(jìn)制文件持寄。
注意:從命令行使用<moduleSets>時源梭,需要先通過“mvn package assembly:assembly”來傳遞包階段。這個bug計劃由Maven 2.1解決稍味。
-->
<moduleSet>
<!--
如果設(shè)置為true废麻,則該插件將包含當(dāng)前反應(yīng)堆中的所有項目,以便在此ModuleSet中進(jìn)行處理模庐。這些將被 納入/排除(includes/excludes) 規(guī)則烛愧。(從2.2開始)
默認(rèn)值是:false。
-->
<!--boolean-->
<useAllReactorProjects/>
<!--
如果設(shè)置為false掂碱,則該插件將從該ModuleSet中排除子模塊的處理怜姿。否則,它將處理所有子模塊疼燥,每個子模塊都要遵守包含/排除規(guī)則沧卢。(從2.2-beta-1開始)
默認(rèn)值是:true。
-->
<!--boolean-->
<includeSubModules/>
<!--
(許多) 當(dāng)存在<include>子元素時悴了,它們定義一組包含的項目坐標(biāo)搏恤。如果不存在,則<includes>表示所有有效值湃交。
工件坐標(biāo)可以以簡單的groupId:artifactId形式給出麸拄,或者可以以groupId:artifactId:type [:classifier]:version的形式完全限定殷费。
另外,可以使用通配符,如*:maven- *
-->
<!--List<String>-->
<includes/>
<!--
(許多) 當(dāng)存在<exclude>子元素時磷脯,它們定義一組要排除的項目工件坐標(biāo)。如果不存在成翩,則<excludes>不表示排除集歇。
工件坐標(biāo)可以以簡單的groupId:artifactId形式給出,或者可以以groupId:artifactId:type [:classifier]:version的形式完全限定温圆。
另外挨摸,可以使用通配符,如*:maven- *
-->
<!--List<String>-->
<excludes/>
<!--
當(dāng)存在這個時岁歉,插件將在生成的程序集中包含這個集合中包含的模塊的源文件得运。
包含用于在程序集中包含項目模塊的源文件的配置選項。
-->
<!--ModuleSources-->
<sources>
<!--
在計算受該集合影響的文件時锅移,是否應(yīng)該使用標(biāo)準(zhǔn)排除模式熔掺,例如那些匹配CVS和Subversion元數(shù)據(jù)文件的排除模式。為了向后兼容非剃,默認(rèn)值是true置逻。(從2.2-beta-1開始)
默認(rèn)值是:true。
-->
<!--boolean-->
<useDefaultExcludes/>
<!--
設(shè)置輸出目錄相對于程序集根目錄的根目錄备绽。例如券坞,“日志”將把指定的文件放在日志目錄中鬓催。
-->
<!--string-->
<outputDirectory/>
<!--
(許多) 當(dāng)<include>子元素存在時,它們定義一組要包含的文件和目錄报慕。如果不存在深浮,則<includes>表示所有有效值。
-->
<!--List<String>-->
<includes/>
<!--
(許多) 當(dāng)存在<exclude>子元素時眠冈,它們定義一組要排除的文件和目錄飞苇。如果不存在,則<excludes>不表示排除蜗顽。
-->
<!--List<String>-->
<excludes/>
<!--
與UNIX權(quán)限類似布卡,設(shè)置所包含文件的文件模式。這是一個 OCTAL VALUE雇盖。格式:(用戶)(組)(其他)其中每個組件是Read = 4忿等,Write = 2和Execute = 1的總和。
例如崔挖,值0644轉(zhuǎn)換為用戶讀寫贸街,組和其他只讀。默認(rèn)值是0644
-->
<!--string-->
<fileMode/>
<!--
與UNIX權(quán)限類似狸相,設(shè)置包含的目錄的目錄模式薛匪。這是一個 OCTAL VALUE。格式:(用戶)(組)(其他)[Format: (User)(Group)(Other) ] 其中每個組件是Read = 4脓鹃,Write = 2和Execute = 1的總和逸尖。
例如,值0755轉(zhuǎn)換為用戶讀寫瘸右,Group和其他只讀娇跟。默認(rèn)值是0755.
-->
<!--string-->
<directoryMode/>
<!--
(許多) 指定包含在程序集中的每個包含模塊的哪些文件組。fileSet通過提供一個或多個<fileSet>子元素來指定太颤。(從2.2-beta-1開始)
-->
<!--List<FileSet>-->
<fileSets>
<!--
fileSet允許將文件組包含到程序集中苞俘。
-->
<fileSet>
<!--
在計算受該集合影響的文件時,是否應(yīng)該使用標(biāo)準(zhǔn)排除模式龄章,例如那些匹配CVS和Subversion元數(shù)據(jù)文件的排除模式苗胀。為了向后兼容,默認(rèn)值是true瓦堵。(從2.2-beta-1開始)
默認(rèn)值是:true。
-->
<!--boolean-->
<useDefaultExcludes/>
<!--
設(shè)置輸出目錄相對于程序集根目錄的根目錄歌亲。例如菇用,“日志”將把指定的文件放在日志目錄中。
-->
<!--string-->
<outputDirectory/>
<!--
(許多) 當(dāng)<include>子元素存在時陷揪,它們定義一組要包含的文件和目錄惋鸥。如果不存在杂穷,則<includes>表示所有有效值。
-->
<!--List<String>-->
<includes/>
<!--
(許多) 當(dāng)存在<exclude>子元素時卦绣,它們定義一組要排除的文件和目錄耐量。如果不存在,則<excludes>不表示排除滤港。
-->
<!--List<String>-->
<excludes/>
<!--
與UNIX權(quán)限類似廊蜒,設(shè)置所包含文件的文件模式。這是一個 OCTAL VALUE溅漾。格式:(用戶)(組)(其他)其中每個組件是Read = 4山叮,Write = 2和Execute = 1的總和。
例如添履,值0644轉(zhuǎn)換為用戶讀寫屁倔,組和其他只讀。默認(rèn)值是0644.
-->
<!--string-->
<fileMode/>
<!--
與UNIX權(quán)限類似暮胧,設(shè)置包含的目錄的目錄模式锐借。這是一個 OCTAL VALUE。格式:(用戶)(組)(其他)其中每個組件是Read = 4往衷,Write = 2和Execute = 1的總和钞翔。
例如,值0755轉(zhuǎn)換為用戶讀寫炼绘,Group和其他只讀嗅战。默認(rèn)值是0755.
-->
<!--string-->
<directoryMode/>
<!--
設(shè)置模塊目錄的絕對或相對位置。例如俺亮,“src / main / bin”會選擇定義這個依賴關(guān)系的項目的這個子目錄驮捍。
-->
<!--string-->
<directory/>
<!--
設(shè)置此文件集中文件的行結(jié)束符。有效值:
“keep” - 保留所有的行結(jié)束
“unix” - 使用Unix風(fēng)格的行尾(即“\ n”)
“l(fā)f” - 使用一個換行符結(jié)束符(即“\ n”)
“dos” - 使用DOS / Windows風(fēng)格的行尾(即“\ r \ n”)
“windows” - 使用DOS / Windows風(fēng)格的行尾(即“\ r \ n”)
“crlf” - 使用回車脚曾,換行符結(jié)尾(即“\ r \ n”)
-->
<!--string-->
<lineEnding/>
<!--
是否在復(fù)制文件時過濾符號东且,使用構(gòu)建配置中的屬性。(從2.2-beta-1開始)
默認(rèn)值是:false本讥。
-->
<!--boolean-->
<filtered/>
</fileSet>
</fileSets>
<!--
指定模塊的finalName是否應(yīng)該添加到應(yīng)用于它的任何fileSets的outputDirectory值珊泳。(從2.2-beta-1開始)
默認(rèn)值是:true。
-->
<!--boolean-->
<includeModuleDirectory/>
<!--
指定是否應(yīng)從應(yīng)用于該模塊的文件集中排除當(dāng)前模塊下方的子模塊目錄拷沸。如果僅僅意味著復(fù)制與此ModuleSet匹配的確切模塊列表的源色查,忽略(或單獨(dú)處理)當(dāng)前目錄下目錄中存在的模塊,這可能會很有用撞芍。(從2.2-beta-1開始)
默認(rèn)值是:true秧了。
-->
<!--boolean-->
<excludeSubModuleDirectories/>
<!--
設(shè)置此程序集中包含的所有模塊基本目錄的映射模式。注意:只有在includeModuleDirectory == true的情況下才會使用此字段序无。
缺省值是在 2.2-beta-1中是$ {artifactId}验毡,以及后續(xù)版本中是$ {module.artifactId}衡创。(從2.2-beta-1開始)
默認(rèn)值是:$ {module.artifactId}。
-->
<!--string-->
<outputDirectoryMapping/>
</sources>
<!--
如果存在晶通,插件將在生成的程序集中包含來自該組的所包含模塊的二進(jìn)制文件璃氢。
包含用于將項目模塊的二進(jìn)制文件包含在程序集中的配置選項。
-->
<!--ModuleBinaries-->
<binaries>
<!--
設(shè)置輸出目錄相對于程序集根目錄的根目錄狮辽。例如一也,“l(fā)og”會將指定的文件放在歸檔根目錄下的日志目錄中。
-->
<!--string-->
<outputDirectory/>
<!--
(許多) 當(dāng)存在<include>子元素時隘竭,它們定義一組要包含的工件坐標(biāo)塘秦。如果不存在,則<includes>表示所有有效值动看。
工件坐標(biāo)可以以簡單的groupId:artifactId形式給出尊剔,或者可以以groupId:artifactId:type [:classifier]:version的形式完全限定。
另外菱皆,可以使用通配符须误,如*:maven- *
-->
<!--List<String>-->
<includes/>
<!--
(許多) 當(dāng)存在<exclude>子元素時,它們定義一組依賴項工件坐標(biāo)以排除仇轻。如果不存在京痢,則<excludes>不表示排除。
工件坐標(biāo)可以以簡單的groupId:artifactId形式給出篷店,或者可以以groupId:artifactId:type [:classifier]:version的形式完全限定祭椰。
另外,可以使用通配符疲陕,如*:maven- *
-->
<!--List<String>-->
<excludes/>
<!--
與UNIX權(quán)限類似方淤,設(shè)置所包含文件的文件模式。這是一個 OCTAL VALUE蹄殃。格式:(用戶)(組)(其他)其中每個組件是Read = 4携茂,Write = 2和Execute = 1的總和。
例如诅岩,值0644轉(zhuǎn)換為用戶讀寫讳苦,組和其他只讀。默認(rèn)值是0644
-->
<!--string-->
<fileMode/>
<!--
與UNIX權(quán)限類似吩谦,設(shè)置包含的目錄的目錄模式鸳谜。這是一個 OCTAL VALUE。格式:(用戶)(組)(其他)[Format: (User)(Group)(Other) ] 其中每個組件是Read = 4式廷,Write = 2和Execute = 1的總和咐扭。
例如,值0755轉(zhuǎn)換為用戶讀寫,Group和其他只讀草描。默認(rèn)值是0755.
-->
<!--string-->
<directoryMode/>
<!--
指定時,attachmentClassifier將使匯編器查看附加到模塊的工件策严,而不是主工程工件穗慕。如果能夠找到與指定分類符匹配的附件,則會使用它; 否則妻导,會拋出異常逛绵。(從2.2-beta-1開始)
-->
<!--string-->
<attachmentClassifier/>
<!--
如果設(shè)置為true,插件將包含這里包含的項目模塊的直接和傳遞依賴關(guān)系倔韭。否則术浪,它將只包含模塊包。
默認(rèn)值是:true寿酌。
-->
<!--boolean-->
<includeDependencies/>
<!--List<DependencySet>-->
<dependencySets>
<!--
依賴關(guān)系集允許在程序集中包含和排除項目依賴關(guān)系胰苏。
-->
<dependencySet>
<!--
設(shè)置輸出目錄相對于程序集根目錄的根目錄。例如醇疼,“l(fā)og”會將指定的文件放在歸檔根目錄下的日志目錄中硕并。
-->
<!--string-->
<outputDirectory/>
<!--
(許多) 當(dāng)存在<include>子元素時,它們定義一組要包含的工件坐標(biāo)秧荆。如果不存在倔毙,則<includes>表示所有有效值。
工件坐標(biāo)可以以簡單的groupId:artifactId形式給出乙濒,或者可以以groupId:artifactId:type [:classifier]:version的形式完全限定陕赃。
另外,可以使用通配符颁股,如*:maven- *
-->
<!--List<String>-->
<includes/>
<!--
(許多) 當(dāng)存在<exclude>子元素時么库,它們定義一組依賴項工件坐標(biāo)以排除。如果不存在豌蟋,則<excludes>不表示排除廊散。
工件坐標(biāo)可以以簡單的groupId:artifactId形式給出,或者可以以groupId:artifactId:type [:classifier]:version的形式完全限定梧疲。
另外允睹,可以使用通配符,如*:maven- *
-->
<!--List<String>-->
<excludes/>
<!--
與UNIX權(quán)限類似幌氮,設(shè)置所包含文件的文件模式缭受。這是一個 OCTAL VALUE。格式:(用戶)(組)(其他)其中每個組件是Read = 4该互,Write = 2和Execute = 1的總和米者。
例如,值0644轉(zhuǎn)換為用戶讀寫,組和其他只讀蔓搞。默認(rèn)值是0644
-->
<!--string-->
<fileMode/>
<!--
與UNIX權(quán)限類似胰丁,設(shè)置包含的目錄的目錄模式。這是一個 OCTAL VALUE喂分。格式:(用戶)(組)(其他)[Format: (User)(Group)(Other) ] 其中每個組件是Read = 4锦庸,Write = 2和Execute = 1的總和。
例如蒲祈,值0755轉(zhuǎn)換為用戶讀寫甘萧,Group和其他只讀。默認(rèn)值是0755.
-->
<!--string-->
<directoryMode/>
<!--
如果指定為true梆掸,那么在程序集創(chuàng)建過程中任何用于過濾實際構(gòu)件的包含/排除模式都將導(dǎo)致構(gòu)建失敗扬卷,并顯示錯誤。這是為了強(qiáng)調(diào)過時的包含或排除酸钦,或者表示程序集描述符配置不正確怪得。(從2.2開始)
默認(rèn)值是:false。
-->
<!--boolean-->
<useStrictFiltering/>
<!--
為此程序集中包含的所有依賴項設(shè)置映射模式钝鸽。(從2.2-beta-2開始汇恤; 2.2-beta-1使用$ {artifactId} - $ {version} $ {dashClassifier?}拔恰。$ {extension}作為默認(rèn)值)因谎。
默認(rèn)值是:$ {artifact.artifactId} - $ {artifact.version} $ {dashClassifier?}颜懊。$ {artifact.extension}财岔。
-->
<!--string-->
<outputFileNameMapping/>
<!--
如果設(shè)置為true,則此屬性將所有依賴項解包到指定的輸出目錄中河爹。設(shè)置為false時匠璧,依賴關(guān)系將被包含為檔案(jar)。只能解壓jar咸这,zip夷恍,tar.gz和tar.bz壓縮文件。
默認(rèn)值是:false媳维。
-->
<!--boolean-->
<unpack/>
<!--
允許指定包含和排除以及過濾選項酿雪,以指定從相關(guān)性工件解壓縮的項目。(從2.2-beta-1開始)
-->
<unpackOptions>
<!--
(許多) 文件和/或目錄模式的集合侄刽,用于匹配將在解壓縮時從歸檔文件中包含的項目指黎。每個項目被指定為<include> some / path </ include>(從2.2-beta-1開始)
-->
<!--List<String>-->
<includes/>
<!--
(許多) 用于匹配項目的文件和/或目錄模式的集合,在解壓縮時將其從歸檔文件中排除州丹。每個項目被指定為<exclude> some / path </ exclude>(從2.2-beta-1開始)
-->
<!--List<String>-->
<excludes/>
<!--
是否使用構(gòu)建配置中的屬性過濾從檔案中解壓縮的文件中的符號醋安。(從2.2-beta-1開始)
默認(rèn)值是:false杂彭。
-->
<!--boolean-->
<filtered/>
<!--
設(shè)置文件的行尾。(從2.2開始)有效值:
“keep” - 保留所有的行結(jié)束
“unix” - 使用Unix風(fēng)格的行結(jié)尾
“l(fā)f” - 使用單個換行符結(jié)束符
“dos” - 使用DOS風(fēng)格的行尾
“ crlf ” - 使用Carraige返回吓揪,換行符結(jié)束
-->
<!--string-->
<lineEnding/>
<!--
在計算受該集合影響的文件時亲怠,是否應(yīng)該使用標(biāo)準(zhǔn)排除模式,例如那些匹配CVS和Subversion元數(shù)據(jù)文件的排除模式柠辞。為了向后兼容赁炎,默認(rèn)值是true。(從2.2開始)
默認(rèn)值是:true钾腺。
-->
<!--boolean-->
<useDefaultExcludes/>
<!--
允許指定解壓檔案時使用的編碼,支持指定編碼的unarchiver讥裤。如果未指定放棒,將使用歸檔程序默認(rèn)值。Archiver默認(rèn)值通常代表理智(modern)的values己英。
-->
<!--string-->
<encoding/>
</unpackOptions>
<!--
為此dependencySet設(shè)置依賴項范圍间螟。
默認(rèn)值是:runtime。
-->
<!--string-->
<scope/>
<!--
確定當(dāng)前項目構(gòu)建過程中產(chǎn)生的工件是否應(yīng)該包含在這個依賴集中损肛。(從2.2-beta-1開始)
默認(rèn)值是:true厢破。
-->
<!--boolean-->
<useProjectArtifact/>
<!--
確定當(dāng)前項目構(gòu)建過程中產(chǎn)生的附件是否應(yīng)該包含在這個依賴集中。(從2.2-beta-1開始)
默認(rèn)值是:false治拿。
-->
<!--boolean-->
<useProjectAttachments/>
<!--
確定是否將傳遞依賴項包含在當(dāng)前依賴項集的處理中摩泪。如果為true,那么include / excludes / useTransitiveFiltering將應(yīng)用于傳遞依賴項構(gòu)件以及主項目依賴項構(gòu)件劫谅。
如果為false见坑,則useTransitiveFiltering無意義,并且包含/排除僅影響項目的直接依賴關(guān)系捏检。
默認(rèn)情況下荞驴,這個值是真的。(從2.2-beta-1開始)
默認(rèn)值是:true贯城。
-->
<!--boolean-->
<useTransitiveDependencies/>
<!--
確定此依賴項集中的包含/排除模式是否將應(yīng)用于給定工件的傳遞路徑熊楼。
如果為真,并且當(dāng)前工件是由包含或排除模式匹配的另一個工件引入的傳遞依賴性能犯,則當(dāng)前工件具有與其相同的包含/排除邏輯鲫骗。
默認(rèn)情況下,此值為false悲雳,以保持與2.1版的向后兼容性挎峦。這意味著包含/排除僅僅直接應(yīng)用于當(dāng)前的工件,而不應(yīng)用于傳入的工件合瓢。(從2.2-beta-1)
默認(rèn)值為:false坦胶。
-->
<!--boolean-->
<useTransitiveFiltering/>
</dependencySet>
</dependencySets>
<!--
如果設(shè)置為true,則此屬性將所有模塊包解包到指定的輸出目錄中。當(dāng)設(shè)置為false時顿苇,模塊包將作為歸檔(jar)包含在內(nèi)峭咒。
默認(rèn)值是:true。
-->
<!--boolean-->
<unpack/>
<!--
允許指定包含和排除以及過濾選項纪岁,以指定從相關(guān)性工件解壓縮的項目凑队。(從2.2-beta-1開始)
-->
<unpackOptions>
<!--
(許多) 文件和/或目錄模式的集合,用于匹配將在解壓縮時從歸檔文件中包含的項目幔翰。每個項目被指定為<include> some / path </ include>(從2.2-beta-1開始)
-->
<!--List<String>-->
<includes/>
<!--
(許多) 用于匹配項目的文件和/或目錄模式的集合漩氨,在解壓縮時將其從歸檔文件中排除。每個項目被指定為<exclude> some / path </ exclude>(從2.2-beta-1開始)
-->
<!--List<String>-->
<excludes/>
<!--
是否使用構(gòu)建配置中的屬性過濾從檔案中解壓縮的文件中的符號遗增。(從2.2-beta-1開始)
默認(rèn)值是:false叫惊。
-->
<!--boolean-->
<filtered/>
<!--
設(shè)置文件的行尾。(從2.2開始)有效值:
“keep” - 保留所有的行結(jié)束
“unix” - 使用Unix風(fēng)格的行結(jié)尾
“l(fā)f” - 使用單個換行符結(jié)束符
“dos” - 使用DOS風(fēng)格的行尾
“ crlf ” - 使用Carraige返回做修,換行符結(jié)束
-->
<!--string-->
<lineEnding/>
<!--
在計算受該集合影響的文件時霍狰,是否應(yīng)該使用標(biāo)準(zhǔn)排除模式,例如那些匹配CVS和Subversion元數(shù)據(jù)文件的排除模式饰及。為了向后兼容蔗坯,默認(rèn)值是true。(從2.2開始)
默認(rèn)值是:true燎含。
-->
<!--boolean-->
<useDefaultExcludes/>
<!--
允許指定解壓檔案時使用的編碼宾濒,支持指定編碼的unarchiver。如果未指定屏箍,將使用歸檔程序默認(rèn)值鼎兽。Archiver默認(rèn)值通常代表理智(modern)的values。
-->
<!--string-->
<encoding/>
</unpackOptions>
<!--
設(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ì)信息郎嫁,請參閱插件FAQ秉继。
默認(rèn)值是:$ {module.artifactId} - $ {module.version} $ {dashClassifier?}泽铛。$ {module.extension}尚辑。
-->
<!--string-->
<outputFileNameMapping/>
</binaries>
</moduleSet>
</moduleSets>
<!--
(許多) 指定在程序集中包含哪些文件組。fileSet通過提供一個或多個<fileSet>子元素來指定盔腔。
-->
<!--List<FileSet>-->
<fileSets>
<!--
fileSet允許將文件組包含到程序集中杠茬。
-->
<fileSet>
<!--
在計算受該集合影響的文件時月褥,是否應(yīng)該使用標(biāo)準(zhǔn)排除模式,例如那些匹配CVS和Subversion元數(shù)據(jù)文件的排除模式瓢喉。為了向后兼容宁赤,默認(rèn)值是true。(從2.2-beta-1開始)
默認(rèn)值是:true栓票。
-->
<!--boolean-->
<useDefaultExcludes/>
<!--
設(shè)置輸出目錄相對于程序集根目錄的根目錄决左。例如,“日志”將把指定的文件放在日志目錄中走贪。
-->
<!--string-->
<outputDirectory/>
<!--
(許多) 當(dāng)<include>子元素存在時佛猛,它們定義一組要包含的文件和目錄。如果不存在坠狡,則<includes>表示所有有效值挚躯。
-->
<!--List<String>-->
<includes/>
<!--
(許多) 當(dāng)存在<exclude>子元素時,它們定義一組要排除的文件和目錄擦秽。如果不存在,則<excludes>不表示排除漩勤。
-->
<!--List<String>-->
<excludes/>
<!--
與UNIX權(quán)限類似感挥,設(shè)置所包含文件的文件模式。這是一個 OCTAL VALUE越败。格式:(用戶)(組)(其他)其中每個組件是Read = 4触幼,Write = 2和Execute = 1的總和。
例如究飞,值0644轉(zhuǎn)換為用戶讀寫置谦,組和其他只讀。默認(rèn)值是0644.
-->
<!--string-->
<fileMode/>
<!--
與UNIX權(quán)限類似亿傅,設(shè)置包含的目錄的目錄模式媒峡。這是一個 OCTAL VALUE。格式:(用戶)(組)(其他)其中每個組件是Read = 4葵擎,Write = 2和Execute = 1的總和谅阿。
例如,值0755轉(zhuǎn)換為用戶讀寫酬滤,Group和其他只讀签餐。默認(rèn)值是0755.
-->
<!--string-->
<directoryMode/>
<!--
設(shè)置模塊目錄的絕對或相對位置。例如盯串,“src / main / bin”會選擇定義這個依賴關(guān)系的項目的這個子目錄氯檐。
-->
<!--string-->
<directory/>
<!--
設(shè)置此文件集中文件的行結(jié)束符。有效值:
“keep” - 保留所有的行結(jié)束
“unix” - 使用Unix風(fēng)格的行尾(即“\ n”)
“l(fā)f” - 使用一個換行符結(jié)束符(即“\ n”)
“dos” - 使用DOS / Windows風(fēng)格的行尾(即“\ r \ n”)
“windows” - 使用DOS / Windows風(fēng)格的行尾(即“\ r \ n”)
“crlf” - 使用回車体捏,換行符結(jié)尾(即“\ r \ n”)
-->
<!--string-->
<lineEnding/>
<!--
是否在復(fù)制文件時過濾符號冠摄,使用構(gòu)建配置中的屬性糯崎。(從2.2-beta-1開始)
默認(rèn)值是:false。
-->
<!--boolean-->
<filtered/>
</fileSet>
</fileSets>
<!--
(許多) 指定在程序集中包含哪些單個文件耗拓。通過提供一個或多個<file>子元素來指定文件拇颅。
-->
<!--List<FileItem>-->
<files>
<!--
一個文件允許單個文件包含選項來更改不受fileSets支持的目標(biāo)文件名。
-->
<file>
<!--
設(shè)置要包含在程序集中的文件的模塊目錄的絕對路徑或相對路徑乔询。
-->
<!--string-->
<source/>
<!--
設(shè)置輸出目錄相對于程序集根目錄的根目錄樟插。例如,“日志”將把指定的文件放在日志目錄中竿刁。
-->
<!--string-->
<outputDirectory/>
<!--
在outputDirectory中設(shè)置目標(biāo)文件名黄锤。默認(rèn)是與源文件相同的名稱。
-->
<!--string-->
<destName/>
<!--
與UNIX權(quán)限類似食拜,設(shè)置所包含文件的文件模式鸵熟。這是一個八卦價值。格式:(用戶)(組)(其他)其中每個組件是Read = 4负甸,Write = 2和Execute = 1的總和流强。
例如,值0644轉(zhuǎn)換為用戶讀寫呻待,組和其他只讀打月。默認(rèn)值是0644
-->
<!--string-->
<fileMode/>
<!--
設(shè)置此文件中文件的行結(jié)束符。有效值是:
“keep” - 保留所有的行結(jié)束
“unix” - 使用Unix風(fēng)格的行尾(即“\ n”)
“l(fā)f” - 使用一個換行符結(jié)束符(即“\ n”)
“dos” - 使用DOS / Windows風(fēng)格的行尾(即“\ r \ n”)
“windows” - 使用DOS / Windows風(fēng)格的行尾(即“\ r \ n”)
“crlf” - 使用回車蚕捉,換行符結(jié)尾(即“\ r \ n”)
-->
<!--string-->
<lineEnding/>
<!--
設(shè)置是否確定文件是否被過濾奏篙。
默認(rèn)值是:false。
-->
<!--boolean-->
<filtered/>
</file>
</files>
<!--List<DependencySet>-->
<dependencySets>
<!--
依賴關(guān)系集允許在程序集中包含和排除項目依賴關(guān)系迫淹。
-->
<dependencySet>
<!--
設(shè)置輸出目錄相對于程序集根目錄的根目錄秘通。例如,“l(fā)og”會將指定的文件放在歸檔根目錄下的日志目錄中敛熬。
-->
<!--string-->
<outputDirectory/>
<!--
(許多) 當(dāng)存在<include>子元素時肺稀,它們定義一組要包含的工件坐標(biāo)。如果不存在应民,則<includes>表示所有有效值盹靴。
工件坐標(biāo)可以以簡單的groupId:artifactId形式給出,或者可以以groupId:artifactId:type [:classifier]:version的形式完全限定瑞妇。
另外稿静,可以使用通配符,如*:maven- *
-->
<!--List<String>-->
<includes/>
<!--
(許多) 當(dāng)存在<exclude>子元素時辕狰,它們定義一組依賴項工件坐標(biāo)以排除改备。如果不存在,則<excludes>不表示排除蔓倍。
工件坐標(biāo)可以以簡單的groupId:artifactId形式給出悬钳,或者可以以groupId:artifactId:type [:classifier]:version的形式完全限定盐捷。
另外,可以使用通配符默勾,如*:maven- *
-->
<!--List<String>-->
<excludes/>
<!--
與UNIX權(quán)限類似碉渡,設(shè)置所包含文件的文件模式。這是一個 OCTAL VALUE母剥。格式:(用戶)(組)(其他)其中每個組件是Read = 4滞诺,Write = 2和Execute = 1的總和。
例如环疼,值0644轉(zhuǎn)換為用戶讀寫习霹,組和其他只讀。默認(rèn)值是0644
-->
<!--string-->
<fileMode/>
<!--
與UNIX權(quán)限類似炫隶,設(shè)置包含的目錄的目錄模式淋叶。這是一個 OCTAL VALUE。格式:(用戶)(組)(其他)[Format: (User)(Group)(Other) ] 其中每個組件是Read = 4伪阶,Write = 2和Execute = 1的總和煞檩。
例如栅贴,值0755轉(zhuǎn)換為用戶讀寫斟湃,Group和其他只讀。默認(rèn)值是0755.
-->
<!--string-->
<directoryMode/>
<!--
如果指定為true筹误,那么在程序集創(chuàng)建過程中任何用于過濾實際構(gòu)件的包含/排除模式都將導(dǎo)致構(gòu)建失敗,并顯示錯誤癣缅。這是為了強(qiáng)調(diào)過時的包含或排除厨剪,或者表示程序集描述符配置不正確。(從2.2開始)
默認(rèn)值是:false友存。
-->
<!--boolean-->
<useStrictFiltering/>
<!--
為此程序集中包含的所有依賴項設(shè)置映射模式祷膳。(從2.2-beta-2開始; 2.2-beta-1使用$ {artifactId} - $ {version} $ {dashClassifier屡立?}直晨。$ {extension}作為默認(rèn)值)。
默認(rèn)值是:$ {artifact.artifactId} - $ {artifact.version} $ {dashClassifier膨俐?}勇皇。$ {artifact.extension}雕凹。
-->
<!--string-->
<outputFileNameMapping/>
<!--
如果設(shè)置為true冀宴,則此屬性將所有依賴項解包到指定的輸出目錄中。設(shè)置為false時习贫,依賴關(guān)系將被包含為檔案(jar)乳愉。只能解壓jar兄淫,zip屯远,tar.gz和tar.bz壓縮文件。
默認(rèn)值是:false捕虽。
-->
<!--boolean-->
<unpack/>
<!--
允許指定包含和排除以及過濾選項慨丐,以指定從相關(guān)性工件解壓縮的項目。(從2.2-beta-1開始)
-->
<unpackOptions>
<!--
(許多) 文件和/或目錄模式的集合泄私,用于匹配將在解壓縮時從歸檔文件中包含的項目房揭。每個項目被指定為<include> some / path </ include>(從2.2-beta-1開始)
-->
<!--List<String>-->
<includes/>
<!--
(許多) 用于匹配項目的文件和/或目錄模式的集合,在解壓縮時將其從歸檔文件中排除挖滤。每個項目被指定為<exclude> some / path </ exclude>(從2.2-beta-1開始)
-->
<!--List<String>-->
<excludes/>
<!--
是否使用構(gòu)建配置中的屬性過濾從檔案中解壓縮的文件中的符號崩溪。(從2.2-beta-1開始)
默認(rèn)值是:false。
-->
<!--boolean-->
<filtered/>
<!--
設(shè)置文件的行尾斩松。(從2.2開始)有效值:
“keep” - 保留所有的行結(jié)束
“unix” - 使用Unix風(fēng)格的行結(jié)尾
“l(fā)f” - 使用單個換行符結(jié)束符
“dos” - 使用DOS風(fēng)格的行尾
“crlf ” - 使用Carraige返回伶唯,換行符結(jié)束
-->
<!--string-->
<lineEnding/>
<!--
在計算受該集合影響的文件時,是否應(yīng)該使用標(biāo)準(zhǔn)排除模式惧盹,例如那些匹配CVS和Subversion元數(shù)據(jù)文件的排除模式乳幸。為了向后兼容,默認(rèn)值是true钧椰。(從2.2開始)
默認(rèn)值是:true粹断。
-->
<!--boolean-->
<useDefaultExcludes/>
<!--
允許指定解壓檔案時使用的編碼,支持指定編碼的unarchiver嫡霞。如果未指定瓶埋,將使用歸檔程序默認(rèn)值。Archiver默認(rèn)值通常代表理智(modern)的values诊沪。
-->
<!--string-->
<encoding/>
</unpackOptions>
<!--
為此dependencySet設(shè)置依賴項范圍养筒。
默認(rèn)值是:runtime。
-->
<!--string-->
<scope/>
<!--
確定當(dāng)前項目構(gòu)建過程中產(chǎn)生的工件是否應(yīng)該包含在這個依賴集中端姚。(從2.2-beta-1開始)
默認(rèn)值是:true晕粪。
-->
<!--boolean-->
<useProjectArtifact/>
<!--
確定當(dāng)前項目構(gòu)建過程中產(chǎn)生的附件是否應(yīng)該包含在這個依賴集中。(從2.2-beta-1開始)
默認(rèn)值是:false渐裸。
-->
<!--boolean-->
<useProjectAttachments/>
<!--
確定是否將傳遞依賴項包含在當(dāng)前依賴項集的處理中巫湘。如果為true,那么include / excludes / useTransitiveFiltering將應(yīng)用于傳遞依賴項構(gòu)件以及主項目依賴項構(gòu)件昏鹃。
如果為false尚氛,則useTransitiveFiltering無意義,并且包含/排除僅影響項目的直接依賴關(guān)系洞渤。
默認(rèn)情況下怠褐,這個值是真的。(從2.2-beta-1開始)
默認(rèn)值是:true您宪。
-->
<!--boolean-->
<useTransitiveDependencies/>
<!--
確定此依賴項集中的包含/排除模式是否將應(yīng)用于給定工件的傳遞路徑奈懒。
如果為真奠涌,并且當(dāng)前工件是由包含或排除模式匹配的另一個工件引入的傳遞依賴性,則當(dāng)前工件具有與其相同的包含/排除邏輯磷杏。
默認(rèn)情況下溜畅,此值為false,以保持與2.1版的向后兼容性极祸。這意味著包含/排除僅僅直接應(yīng)用于當(dāng)前的工件慈格,而不應(yīng)用于傳入的工件。(從2.2-beta-1)
默認(rèn)值為:false遥金。
-->
<!--boolean-->
<useTransitiveFiltering/>
</dependencySet>
</dependencySets>
<!--
定義要包含在程序集中的Maven倉庫浴捆。可用于存儲庫中的工件是項目的依賴工件稿械。創(chuàng)建的存儲庫包含所需的元數(shù)據(jù)條目选泻,并且還包含sha1和md5校驗和。這對創(chuàng)建將被部署到內(nèi)部存儲庫的檔案很有用美莫。
注意:目前页眯,只有來自中央存儲庫的工件才被允許。
-->
<!--List<Repository>-->
<repositories>
<repository>
<!--
設(shè)置輸出目錄相對于程序集根目錄的根目錄厢呵。例如窝撵,“l(fā)og”會將指定的文件放在歸檔根目錄下的日志目錄中。
-->
<!--string-->
<outputDirectory/>
<!--
(許多) 當(dāng)存在<include>子元素時襟铭,它們定義一組包含的項目坐標(biāo)碌奉。如果不存在,則<includes>表示所有有效值寒砖。
工件坐標(biāo)可以以簡單的groupId:artifactId形式給出赐劣,或者可以以groupId:artifactId:type [:classifier]:version的形式完全限定。
另外入撒,可以使用通配符隆豹,如*:maven- *
-->
<!--List<String>-->
<includes/>
<!--
(許多) 當(dāng)存在<exclude>子元素時椭岩,它們定義一組要排除的項目工件坐標(biāo)茅逮。如果不存在,則<excludes>不表示排除判哥。
工件坐標(biāo)可以以簡單的groupId:artifactId形式給出献雅,或者可以以groupId:artifactId:type [:classifier]:version的形式完全限定。
另外塌计,可以使用通配符挺身,如*:maven- *
-->
<!--List<String>-->
<excludes/>
<!--
與UNIX權(quán)限類似,設(shè)置所包含文件的文件模式锌仅。這是一個 OCTAL VALUE章钾。格式:(用戶)(組)(其他)其中每個組件是Read = 4墙贱,Write = 2和Execute = 1的總和。
例如贱傀,值0644轉(zhuǎn)換為用戶讀寫惨撇,組和其他只讀。默認(rèn)值是0644
-->
<!--string-->
<fileMode/>
<!--
與UNIX權(quán)限類似府寒,設(shè)置包含的目錄的目錄模式魁衙。這是一個 OCTAL VALUE。格式:(用戶)(組)(其他)[Format: (User)(Group)(Other) ] 其中每個組件是Read = 4株搔,Write = 2和Execute = 1的總和剖淀。
例如,值0755轉(zhuǎn)換為用戶讀寫纤房,Group和其他只讀纵隔。默認(rèn)值是0755.
-->
<!--string-->
<directoryMode/>
<!--
如果設(shè)置為true,則此屬性將觸發(fā)創(chuàng)建存儲庫元數(shù)據(jù)帆卓,這將允許存儲庫用作功能性遠(yuǎn)程存儲庫巨朦。
默認(rèn)值是:false。
-->
<!--boolean-->
<includeMetadata/>
<!--
(許多) 指定要將一組工件與指定的版本對齊剑令。groupVersionAlignment通過提供一個或多個<groupVersionAlignment>子元素來指定糊啡。
允許一組工件與指定的版本對齊。
-->
<!--List<GroupVersionAlignment>-->
<groupVersionAlignments>
<groupVersionAlignment>
<!--
要為其對齊版本的工件的groupId吁津。
-->
<!--string-->
<id/>
<!--
您想要將該組對齊的版本棚蓄。
-->
<!--string-->
<version/>
<!--
(許多) 當(dāng)存在<exclude>子元素時,它們定義要排除的構(gòu)件的artifactIds碍脏。如果不存在梭依,則<excludes>不表示排除。排除是通過提供一個或多個<exclude>子元素來指定的典尾。
-->
<!--List<String>-->
<excludes/>
</groupVersionAlignment>
</groupVersionAlignments>
<!--
指定此存儲庫中包含的工件的范圍役拴。(從2.2-beta-1開始)
默認(rèn)值是:runtime。
-->
<!--string-->
<scope/>
</repository>
</repositories>
<!--
(許多) 指定要包含在程序集中的共享組件xml文件位置钾埂。指定的位置必須相對于描述符的基本位置河闰。
如果描述符是通過類路徑中的<descriptorRef />元素找到的,那么它指定的任何組件也將在類路徑中找到褥紫。
如果通過路徑名通過<descriptor />元素找到姜性,則此處的值將被解釋為相對于項目basedir的路徑。
當(dāng)找到多個componentDescriptors時髓考,它們的內(nèi)容被合并部念。檢查 描述符組件 了解更多信息。
componentDescriptor通過提供一個或多個<componentDescriptor>子元素來指定。
-->
<!--List<String>-->
<componentDescriptors/>
</assembly>