maven assembly詳解

依賴

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-assembly-plugin</artifactId>
                <configuration>
                    <descriptors>
                        <descriptor>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>

配置詳解

<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">
    <!--
        設置此程序集的標識。這是來自此項目的特定文件組合的符號名稱。此外,除了用於通過將生成的歸檔的值附加到組合包以明確命名組合包之外,該ID在部署時用作工件的分類器。
    -->
    <!--string-->
    <id/>
    <!--
        (許多) 指定程序集的格式。通過目標參數而不是在這裏指定格式通常會更好。例如,允許不同的配置文件生成不同類型的檔案。
        可以提供多種格式,裝配體插件將生成每種所需格式的檔案。部署項目時,所有指定的文件格式也將被部署。
        通過在<format>子元素中提供以下值之一來指定格式:
        “zip” - 創建一個ZIP文件格式
        “tar” - 創建一個TAR格式
        “tar.gz”或“tgz” - 創建一個gzip'd TAR格式
        “tar.bz2”或“tbz2” - 創建一個bzip'd TAR格式
        “tar.snappy” - 創建一個靈活的TAR格式
        “tar.xz”或“txz” - 創建一個xz'd TAR格式
        “jar” - 創建一個JAR格式
        “dir” - 創建分解的目錄格式
        “戰爭” - 創建一個WAR格式
    -->
    <!--List<String>-->
    <formats/>
    <!--
        在最終歸檔中包含一個基本目錄。例如,如果您正在創建一個名爲“your-app”的程序集,則將includeBaseDirectory設置爲true將創建一個包含此基本目錄的歸檔文件。
        如果此選項設置爲false,則創建的存檔將其內容解壓縮到當前目錄。
        默認值是:true-->
    <!--boolean-->
    <includeBaseDirectory/>
    <!--
        設置生成的程序集歸檔的基本目錄。如果沒有設置,並且includeBaseDirectory == true,則將使用$ {project.build.finalName}。(從2.2-beta-1開始)
    -->
    <!--string-->
    <baseDirectory/>
    <!--
        在最終檔案中包含一個網站目錄。項目的站點目錄位置由Assembly Plugin的siteDirectory參數確定。
        默認值是:false-->
    <!--boolean-->
    <includeSiteDirectory/>

    <!--
        (許多) 從常規歸檔流中過濾各種容器描述符的組件集合,因此可以將它們聚合然後添加。
    -->
    <!--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>的源代碼或二進制文件。
            注意:從命令行使用<moduleSets>時,需要先通過“mvn package assembly:assembly”來傳遞包階段。這個bug計劃由Maven 2.1解決。
        -->
        <moduleSet>
            <!--
                如果設置爲true,則該插件將包含當前反應堆中的所有項目,以便在此ModuleSet中進行處理。這些將被 納入/排除(includes/excludes) 規則。(從2.2開始)
                默認值是:false-->
            <!--boolean-->
            <useAllReactorProjects/>
            <!--
                如果設置爲false,則該插件將從該ModuleSet中排除子模塊的處理。否則,它將處理所有子模塊,每個子模塊都要遵守包含/排除規則。(從2.2-beta-1開始)
                默認值是:true-->
            <!--boolean-->
            <includeSubModules/>
            <!--
                (許多) 當存在<include>子元素時,它們定義一組包含的項目座標。如果不存在,則<includes>表示所有有效值。
                工件座標可以以簡單的groupId:artifactId形式給出,或者可以以groupId:artifactId:type [:classifier]:version的形式完全限定。
                另外,可以使用通配符,如*:maven- *
            -->
            <!--List<String>-->
            <includes/>
            <!--
                (許多) 當存在<exclude>子元素時,它們定義一組要排除的項目工件座標。如果不存在,則<excludes>不表示排除。
                工件座標可以以簡單的groupId:artifactId形式給出,或者可以以groupId:artifactId:type [:classifier]:version的形式完全限定。
                另外,可以使用通配符,如*:maven- *
            -->
            <!--List<String>-->
            <excludes/>
            <!--
                當存在這個時,插件將在生成的程序集中包含這個集合中包含的模塊的源文件。
                包含用於在程序集中包含項目模塊的源文件的配置選項。
            -->
            <!--ModuleSources-->
            <sources>
                <!--
                    在計算受該集合影響的文件時,是否應該使用標準排除模式,例如那些匹配CVS和Subversion元數據文件的排除模式。爲了向後兼容,默認值是true。(從2.2-beta-1開始)
                    默認值是:true-->
                <!--boolean-->
                <useDefaultExcludes/>
                <!--
                    設置輸出目錄相對於程序集根目錄的根目錄。例如,“日誌”將把指定的文件放在日誌目錄中。
                -->
                <!--string-->
                <outputDirectory/>
                <!--
                    (許多) 當<include>子元素存在時,它們定義一組要包含的文件和目錄。如果不存在,則<includes>表示所有有效值。
                -->
                <!--List<String>-->
                <includes/>
                <!--
                    (許多) 當存在<exclude>子元素時,它們定義一組要排除的文件和目錄。如果不存在,則<excludes>不表示排除。
                -->
                <!--List<String>-->
                <excludes/>
                <!--
                    與UNIX權限類似,設置所包含文件的文件模式。這是一個 OCTAL VALUE。格式:(用戶)(組)(其他)其中每個組件是Read = 4,Write = 2和Execute = 1的總和。
                    例如,值0644轉換爲用戶讀寫,組和其他只讀。默認值是0644
                -->
                <!--string-->
                <fileMode/>
                <!--
                    與UNIX權限類似,設置包含的目錄的目錄模式。這是一個 OCTAL VALUE。格式:(用戶)(組)(其他)[Format: (User)(Group)(Other) ] 其中每個組件是Read = 4,Write = 2和Execute = 1的總和。
                    例如,值0755轉換爲用戶讀寫,Group和其他只讀。默認值是0755.
                -->
                <!--string-->
                <directoryMode/>
                <!--
                    (許多) 指定包含在程序集中的每個包含模塊的哪些文件組。fileSet通過提供一個或多個<fileSet>子元素來指定。(從2.2-beta-1開始)
                -->
                <!--List<FileSet>-->
                <fileSets>
                    <!--
                        fileSet允許將文件組包含到程序集中。
                    -->
                    <fileSet>
                        <!--
                            在計算受該集合影響的文件時,是否應該使用標準排除模式,例如那些匹配CVS和Subversion元數據文件的排除模式。爲了向後兼容,默認值是true。(從2.2-beta-1開始)
                            默認值是:true-->
                        <!--boolean-->
                        <useDefaultExcludes/>
                        <!--
                            設置輸出目錄相對於程序集根目錄的根目錄。例如,“日誌”將把指定的文件放在日誌目錄中。
                        -->
                        <!--string-->
                        <outputDirectory/>
                        <!--
                            (許多) 當<include>子元素存在時,它們定義一組要包含的文件和目錄。如果不存在,則<includes>表示所有有效值。
                        -->
                        <!--List<String>-->
                        <includes/>
                        <!--
                            (許多) 當存在<exclude>子元素時,它們定義一組要排除的文件和目錄。如果不存在,則<excludes>不表示排除。
                        -->
                        <!--List<String>-->
                        <excludes/>
                        <!--
                            與UNIX權限類似,設置所包含文件的文件模式。這是一個 OCTAL VALUE。格式:(用戶)(組)(其他)其中每個組件是Read = 4,Write = 2和Execute = 1的總和。
                            例如,值0644轉換爲用戶讀寫,組和其他只讀。默認值是0644.
                        -->
                        <!--string-->
                        <fileMode/>
                        <!--
                            與UNIX權限類似,設置包含的目錄的目錄模式。這是一個 OCTAL VALUE。格式:(用戶)(組)(其他)其中每個組件是Read = 4,Write = 2和Execute = 1的總和。
                            例如,值0755轉換爲用戶讀寫,Group和其他只讀。默認值是0755.
                        -->
                        <!--string-->
                        <directoryMode/>
                        <!--
                            設置模塊目錄的絕對或相對位置。例如,“src / main / bin”會選擇定義這個依賴關係的項目的這個子目錄。
                        -->
                        <!--string-->
                        <directory/>
                        <!--
                            設置此文件集中文件的行結束符。有效值:
                            “keep” - 保留所有的行結束
                            “unix” - 使用Unix風格的行尾(即“\ n”)
                            “lf” - 使用一個換行符結束符(即“\ n”)
                            “dos” - 使用DOS / Windows風格的行尾(即“\ r \ n”)
                            “windows” - 使用DOS / Windows風格的行尾(即“\ r \ n”)
                            “crlf” - 使用回車,換行符結尾(即“\ r \ n”)
                        -->
                        <!--string-->
                        <lineEnding/>
                        <!--
                            是否在複製文件時過濾符號,使用構建配置中的屬性。(從2.2-beta-1開始)
                            默認值是:false-->
                        <!--boolean-->
                        <filtered/>
                    </fileSet>
                </fileSets>
                <!--
                    指定模塊的finalName是否應該添加到應用於它的任何fileSets的outputDirectory值。(從2.2-beta-1開始)
                    默認值是:true-->
                <!--boolean-->
                <includeModuleDirectory/>
                <!--
                    指定是否應從應用於該模塊的文件集中排除當前模塊下方的子模塊目錄。如果僅僅意味着複製與此ModuleSet匹配的確切模塊列表的源,忽略(或單獨處理)當前目錄下目錄中存在的模塊,這可能會很有用。(從2.2-beta-1開始)
                    默認值是:true-->
                <!--boolean-->
                <excludeSubModuleDirectories/>
                <!--
                    設置此程序集中包含的所有模塊基本目錄的映射模式。注意:只有在includeModuleDirectory == true的情況下才會使用此字段。
                    缺省值是在 2.2-beta-1中是$ {artifactId},以及後續版本中是$ {module.artifactId}。(從2.2-beta-1開始)
                    默認值是:$ {module.artifactId}-->
                <!--string-->
                <outputDirectoryMapping/>
            </sources>
            <!--
                    如果存在,插件將在生成的程序集中包含來自該組的所包含模塊的二進制文件。
                    包含用於將項目模塊的二進制文件包含在程序集中的配置選項。
            -->
            <!--ModuleBinaries-->
            <binaries>
                <!--
                    設置輸出目錄相對於程序集根目錄的根目錄。例如,“log”會將指定的文件放在歸檔根目錄下的日誌目錄中。
                -->
                <!--string-->
                <outputDirectory/>
                <!--
                    (許多) 當存在<include>子元素時,它們定義一組要包含的工件座標。如果不存在,則<includes>表示所有有效值。
                    工件座標可以以簡單的groupId:artifactId形式給出,或者可以以groupId:artifactId:type [:classifier]:version的形式完全限定。
                    另外,可以使用通配符,如*:maven- *
                -->
                <!--List<String>-->
                <includes/>
                <!--
                    (許多) 當存在<exclude>子元素時,它們定義一組依賴項工件座標以排除。如果不存在,則<excludes>不表示排除。
                    工件座標可以以簡單的groupId:artifactId形式給出,或者可以以groupId:artifactId:type [:classifier]:version的形式完全限定。
                    另外,可以使用通配符,如*:maven- *
                -->
                <!--List<String>-->
                <excludes/>
                <!--
                    與UNIX權限類似,設置所包含文件的文件模式。這是一個 OCTAL VALUE。格式:(用戶)(組)(其他)其中每個組件是Read = 4,Write = 2和Execute = 1的總和。
                    例如,值0644轉換爲用戶讀寫,組和其他只讀。默認值是0644
                -->
                <!--string-->
                <fileMode/>
                <!--
                    與UNIX權限類似,設置包含的目錄的目錄模式。這是一個 OCTAL VALUE。格式:(用戶)(組)(其他)[Format: (User)(Group)(Other) ] 其中每個組件是Read = 4,Write = 2和Execute = 1的總和。
                    例如,值0755轉換爲用戶讀寫,Group和其他只讀。默認值是0755.
                -->
                <!--string-->
                <directoryMode/>
                <!--
                    指定時,attachmentClassifier將使彙編器查看附加到模塊的工件,而不是主工程工件。如果能夠找到與指定分類符匹配的附件,則會使用它; 否則,會拋出異常。(從2.2-beta-1開始)
                -->
                <!--string-->
                <attachmentClassifier/>
                <!--
                    如果設置爲true,插件將包含這裏包含的項目模塊的直接和傳遞依賴關係。否則,它將只包含模塊包。
                    默認值是:true-->
                <!--boolean-->
                <includeDependencies/>
                <!--List<DependencySet>-->
                <dependencySets>
                    <!--
                        依賴關係集允許在程序集中包含和排除項目依賴關係。
                    -->
                    <dependencySet>
                        <!--
                                設置輸出目錄相對於程序集根目錄的根目錄。例如,“log”會將指定的文件放在歸檔根目錄下的日誌目錄中。
                            -->
                        <!--string-->
                        <outputDirectory/>
                        <!--
                            (許多) 當存在<include>子元素時,它們定義一組要包含的工件座標。如果不存在,則<includes>表示所有有效值。
                            工件座標可以以簡單的groupId:artifactId形式給出,或者可以以groupId:artifactId:type [:classifier]:version的形式完全限定。
                            另外,可以使用通配符,如*:maven- *
                        -->
                        <!--List<String>-->
                        <includes/>
                        <!--
                            (許多) 當存在<exclude>子元素時,它們定義一組依賴項工件座標以排除。如果不存在,則<excludes>不表示排除。
                            工件座標可以以簡單的groupId:artifactId形式給出,或者可以以groupId:artifactId:type [:classifier]:version的形式完全限定。
                            另外,可以使用通配符,如*:maven- *
                        -->
                        <!--List<String>-->
                        <excludes/>
                        <!--
                            與UNIX權限類似,設置所包含文件的文件模式。這是一個 OCTAL VALUE。格式:(用戶)(組)(其他)其中每個組件是Read = 4,Write = 2和Execute = 1的總和。
                            例如,值0644轉換爲用戶讀寫,組和其他只讀。默認值是0644
                        -->
                        <!--string-->
                        <fileMode/>
                        <!--
                            與UNIX權限類似,設置包含的目錄的目錄模式。這是一個 OCTAL VALUE。格式:(用戶)(組)(其他)[Format: (User)(Group)(Other) ] 其中每個組件是Read = 4,Write = 2和Execute = 1的總和。
                            例如,值0755轉換爲用戶讀寫,Group和其他只讀。默認值是0755.
                        -->
                        <!--string-->
                        <directoryMode/>
                        <!--
                            如果指定爲true,那麼在程序集創建過程中任何用於過濾實際構件的包含/排除模式都將導致構建失敗,並顯示錯誤。這是爲了強調過時的包含或排除,或者表示程序集描述符配置不正確。(從2.2開始)
                            默認值是:false-->
                        <!--boolean-->
                        <useStrictFiltering/>
                        <!--
                            爲此程序集中包含的所有依賴項設置映射模式。(從2.2-beta-2開始; 2.2-beta-1使用$ {artifactId} - $ {version} $ {dashClassifier?}。$ {extension}作爲默認值)。
                            默認值是:$ {artifact.artifactId} - $ {artifact.version} $ {dashClassifier?}。$ {artifact.extension}-->
                        <!--string-->
                        <outputFileNameMapping/>
                        <!--
                            如果設置爲true,則此屬性將所有依賴項解包到指定的輸出目錄中。設置爲false時,依賴關係將被包含爲檔案(jar)。只能解壓jar,zip,tar.gz和tar.bz壓縮文件。
                            默認值是:false-->
                        <!--boolean-->
                        <unpack/>
                        <!--
                            允許指定包含和排除以及過濾選項,以指定從相關性工件解壓縮的項目。(從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/>
                            <!--
                                是否使用構建配置中的屬性過濾從檔案中解壓縮的文件中的符號。(從2.2-beta-1開始)
                                默認值是:false-->
                            <!--boolean-->
                            <filtered/>
                            <!--
                                設置文件的行尾。(從2.2開始)有效值:
                                “keep” - 保留所有的行結束
                                “unix” - 使用Unix風格的行結尾
                                “lf” - 使用單個換行符結束符
                                “dos” - 使用DOS風格的行尾
                                “ crlf ” - 使用Carraige返回,換行符結束
                            -->
                            <!--string-->
                            <lineEnding/>
                            <!--
                                在計算受該集合影響的文件時,是否應該使用標準排除模式,例如那些匹配CVS和Subversion元數據文件的排除模式。爲了向後兼容,默認值是true。(從2.2開始)
                                默認值是:true-->
                            <!--boolean-->
                            <useDefaultExcludes/>
                            <!--
                                允許指定解壓檔案時使用的編碼,支持指定編碼的unarchiver。如果未指定,將使用歸檔程序默認值。Archiver默認值通常代表理智(modern)的values。
                            -->
                            <!--string-->
                            <encoding/>
                        </unpackOptions>
                        <!--
                            爲此dependencySet設置依賴項範圍。
                            默認值是:runtime。
                        -->
                        <!--string-->
                        <scope/>
                        <!--
                            確定當前項目構建過程中產生的工件是否應該包含在這個依賴集中。(從2.2-beta-1開始)
                            默認值是:true-->
                        <!--boolean-->
                        <useProjectArtifact/>
                        <!--
                            確定當前項目構建過程中產生的附件是否應該包含在這個依賴集中。(從2.2-beta-1開始)
                            默認值是:false-->
                        <!--boolean-->
                        <useProjectAttachments/>
                        <!--
                            確定是否將傳遞依賴項包含在當前依賴項集的處理中。如果爲true,那麼include / excludes / useTransitiveFiltering將應用於傳遞依賴項構件以及主項目依賴項構件。
                            如果爲false,則useTransitiveFiltering無意義,並且包含/排除僅影響項目的直接依賴關係。
                            默認情況下,這個值是真的。(從2.2-beta-1開始)
                            默認值是:true-->
                        <!--boolean-->
                        <useTransitiveDependencies/>
                        <!--
                            確定此依賴項集中的包含/排除模式是否將應用於給定工件的傳遞路徑。
                            如果爲真,並且當前工件是由包含或排除模式匹配的另一個工件引入的傳遞依賴性,則當前工件具有與其相同的包含/排除邏輯。
                            默認情況下,此值爲false,以保持與2.1版的向後兼容性。這意味着包含/排除僅僅直接應用於當前的工件,而不應用於傳入的工件。(從2.2-beta-1)
                            默認值爲:false-->
                        <!--boolean-->
                        <useTransitiveFiltering/>
                    </dependencySet>
                </dependencySets>
                <!--
                    如果設置爲true,則此屬性將所有模塊包解包到指定的輸出目錄中。當設置爲false時,模塊包將作爲歸檔(jar)包含在內。
                    默認值是:true-->
                <!--boolean-->
                <unpack/>
                <!--
                    允許指定包含和排除以及過濾選項,以指定從相關性工件解壓縮的項目。(從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/>
                    <!--
                        是否使用構建配置中的屬性過濾從檔案中解壓縮的文件中的符號。(從2.2-beta-1開始)
                        默認值是:false-->
                    <!--boolean-->
                    <filtered/>
                    <!--
                        設置文件的行尾。(從2.2開始)有效值:
                        “keep” - 保留所有的行結束
                        “unix” - 使用Unix風格的行結尾
                        “lf” - 使用單個換行符結束符
                        “dos” - 使用DOS風格的行尾
                        “ crlf ” - 使用Carraige返回,換行符結束
                    -->
                    <!--string-->
                    <lineEnding/>
                    <!--
                        在計算受該集合影響的文件時,是否應該使用標準排除模式,例如那些匹配CVS和Subversion元數據文件的排除模式。爲了向後兼容,默認值是true。(從2.2開始)
                        默認值是:true-->
                    <!--boolean-->
                    <useDefaultExcludes/>
                    <!--
                        允許指定解壓檔案時使用的編碼,支持指定編碼的unarchiver。如果未指定,將使用歸檔程序默認值。Archiver默認值通常代表理智(modern)的values。
                    -->
                    <!--string-->
                    <encoding/>
                </unpackOptions>
                <!--
                    設置此程序集中包含的所有非UNPACKED依賴關係的映射模式。(由於2.2-beta-2; 2.2-beta-1使用$ {artifactId} - $ {version} $ {dashClassifier?}。$ {extension}作爲默認值)注意:如果dependencySet指定unpack == true,則outputFileNameMapping將不要使用; 在這些情況下,使用outputDirectory。有關可用於outputFileNameMapping參數的條目的更多詳細信息,請參閱插件FAQ。
                    默認值是:$ {module.artifactId} - $ {module.version} $ {dashClassifier?}。$ {module.extension}-->
                <!--string-->
                <outputFileNameMapping/>
            </binaries>
        </moduleSet>
    </moduleSets>
    <!--
        (許多) 指定在程序集中包含哪些文件組。fileSet通過提供一個或多個<fileSet>子元素來指定。
    -->
    <!--List<FileSet>-->
    <fileSets>
        <!--
            fileSet允許將文件組包含到程序集中。
        -->
        <fileSet>
            <!--
                在計算受該集合影響的文件時,是否應該使用標準排除模式,例如那些匹配CVS和Subversion元數據文件的排除模式。爲了向後兼容,默認值是true。(從2.2-beta-1開始)
                默認值是:true-->
            <!--boolean-->
            <useDefaultExcludes/>
            <!--
                設置輸出目錄相對於程序集根目錄的根目錄。例如,“日誌”將把指定的文件放在日誌目錄中。
            -->
            <!--string-->
            <outputDirectory/>
            <!--
                (許多) 當<include>子元素存在時,它們定義一組要包含的文件和目錄。如果不存在,則<includes>表示所有有效值。
            -->
            <!--List<String>-->
            <includes/>
            <!--
                (許多) 當存在<exclude>子元素時,它們定義一組要排除的文件和目錄。如果不存在,則<excludes>不表示排除。
            -->
            <!--List<String>-->
            <excludes/>
            <!--
                與UNIX權限類似,設置所包含文件的文件模式。這是一個 OCTAL VALUE。格式:(用戶)(組)(其他)其中每個組件是Read = 4,Write = 2和Execute = 1的總和。
                例如,值0644轉換爲用戶讀寫,組和其他只讀。默認值是0644.
            -->
            <!--string-->
            <fileMode/>
            <!--
                與UNIX權限類似,設置包含的目錄的目錄模式。這是一個 OCTAL VALUE。格式:(用戶)(組)(其他)其中每個組件是Read = 4,Write = 2和Execute = 1的總和。
                例如,值0755轉換爲用戶讀寫,Group和其他只讀。默認值是0755.
            -->
            <!--string-->
            <directoryMode/>
            <!--
                設置模塊目錄的絕對或相對位置。例如,“src / main / bin”會選擇定義這個依賴關係的項目的這個子目錄。
            -->
            <!--string-->
            <directory/>
            <!--
                設置此文件集中文件的行結束符。有效值:
                “keep” - 保留所有的行結束
                “unix” - 使用Unix風格的行尾(即“\ n”)
                “lf” - 使用一個換行符結束符(即“\ n”)
                “dos” - 使用DOS / Windows風格的行尾(即“\ r \ n”)
                “windows” - 使用DOS / Windows風格的行尾(即“\ r \ n”)
                “crlf” - 使用回車,換行符結尾(即“\ r \ n”)
            -->
            <!--string-->
            <lineEnding/>
            <!--
                是否在複製文件時過濾符號,使用構建配置中的屬性。(從2.2-beta-1開始)
                默認值是:false-->
            <!--boolean-->
            <filtered/>
        </fileSet>
    </fileSets>
    <!--
        (許多) 指定在程序集中包含哪些單個文件。通過提供一個或多個<file>子元素來指定文件。
    -->
    <!--List<FileItem>-->
    <files>
        <!--
            一個文件允許單個文件包含選項來更改不受fileSets支持的目標文件名。
        -->
        <file>
            <!--
                設置要包含在程序集中的文件的模塊目錄的絕對路徑或相對路徑。
            -->
            <!--string-->
            <source/>
            <!--
                設置輸出目錄相對於程序集根目錄的根目錄。例如,“日誌”將把指定的文件放在日誌目錄中。
            -->
            <!--string-->
            <outputDirectory/>
            <!--
                在outputDirectory中設置目標文件名。默認是與源文件相同的名稱。
            -->
            <!--string-->
            <destName/>
            <!--
                與UNIX權限類似,設置所包含文件的文件模式。這是一個八卦價值。格式:(用戶)(組)(其他)其中每個組件是Read = 4,Write = 2和Execute = 1的總和。
                例如,值0644轉換爲用戶讀寫,組和其他只讀。默認值是0644
            -->
            <!--string-->
            <fileMode/>
            <!--
                設置此文件中文件的行結束符。有效值是:
                “keep” - 保留所有的行結束
                “unix” - 使用Unix風格的行尾(即“\ n”)
                “lf” - 使用一個換行符結束符(即“\ n”)
                “dos” - 使用DOS / Windows風格的行尾(即“\ r \ n”)
                “windows” - 使用DOS / Windows風格的行尾(即“\ r \ n”)
                “crlf” - 使用回車,換行符結尾(即“\ r \ n”)
            -->
            <!--string-->
            <lineEnding/>
            <!--
                設置是否確定文件是否被過濾。
                默認值是:false-->
            <!--boolean-->
            <filtered/>
        </file>
    </files>
    <!--List<DependencySet>-->
    <dependencySets>
        <!--
            依賴關係集允許在程序集中包含和排除項目依賴關係。
        -->
        <dependencySet>
            <!--
                    設置輸出目錄相對於程序集根目錄的根目錄。例如,“log”會將指定的文件放在歸檔根目錄下的日誌目錄中。
                -->
            <!--string-->
            <outputDirectory/>
            <!--
                (許多) 當存在<include>子元素時,它們定義一組要包含的工件座標。如果不存在,則<includes>表示所有有效值。
                工件座標可以以簡單的groupId:artifactId形式給出,或者可以以groupId:artifactId:type [:classifier]:version的形式完全限定。
                另外,可以使用通配符,如*:maven- *
            -->
            <!--List<String>-->
            <includes/>
            <!--
                (許多) 當存在<exclude>子元素時,它們定義一組依賴項工件座標以排除。如果不存在,則<excludes>不表示排除。
                工件座標可以以簡單的groupId:artifactId形式給出,或者可以以groupId:artifactId:type [:classifier]:version的形式完全限定。
                另外,可以使用通配符,如*:maven- *
            -->
            <!--List<String>-->
            <excludes/>
            <!--
                與UNIX權限類似,設置所包含文件的文件模式。這是一個 OCTAL VALUE。格式:(用戶)(組)(其他)其中每個組件是Read = 4,Write = 2和Execute = 1的總和。
                例如,值0644轉換爲用戶讀寫,組和其他只讀。默認值是0644
            -->
            <!--string-->
            <fileMode/>
            <!--
                與UNIX權限類似,設置包含的目錄的目錄模式。這是一個 OCTAL VALUE。格式:(用戶)(組)(其他)[Format: (User)(Group)(Other) ] 其中每個組件是Read = 4,Write = 2和Execute = 1的總和。
                例如,值0755轉換爲用戶讀寫,Group和其他只讀。默認值是0755.
            -->
            <!--string-->
            <directoryMode/>
            <!--
                如果指定爲true,那麼在程序集創建過程中任何用於過濾實際構件的包含/排除模式都將導致構建失敗,並顯示錯誤。這是爲了強調過時的包含或排除,或者表示程序集描述符配置不正確。(從2.2開始)
                默認值是:false-->
            <!--boolean-->
            <useStrictFiltering/>
            <!--
                爲此程序集中包含的所有依賴項設置映射模式。(從2.2-beta-2開始; 2.2-beta-1使用$ {artifactId} - $ {version} $ {dashClassifier?}。$ {extension}作爲默認值)。
                默認值是:$ {artifact.artifactId} - $ {artifact.version} $ {dashClassifier?}。$ {artifact.extension}-->
            <!--string-->
            <outputFileNameMapping/>
            <!--
                如果設置爲true,則此屬性將所有依賴項解包到指定的輸出目錄中。設置爲false時,依賴關係將被包含爲檔案(jar)。只能解壓jar,zip,tar.gz和tar.bz壓縮文件。
                默認值是:false-->
            <!--boolean-->
            <unpack/>
            <!--
                允許指定包含和排除以及過濾選項,以指定從相關性工件解壓縮的項目。(從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/>
                <!--
                    是否使用構建配置中的屬性過濾從檔案中解壓縮的文件中的符號。(從2.2-beta-1開始)
                    默認值是:false-->
                <!--boolean-->
                <filtered/>
                <!--
                    設置文件的行尾。(從2.2開始)有效值:
                    “keep” - 保留所有的行結束
                    “unix” - 使用Unix風格的行結尾
                    “lf” - 使用單個換行符結束符
                    “dos” - 使用DOS風格的行尾
                    “crlf ” - 使用Carraige返回,換行符結束
                -->
                <!--string-->
                <lineEnding/>
                <!--
                    在計算受該集合影響的文件時,是否應該使用標準排除模式,例如那些匹配CVS和Subversion元數據文件的排除模式。爲了向後兼容,默認值是true。(從2.2開始)
                    默認值是:true-->
                <!--boolean-->
                <useDefaultExcludes/>
                <!--
                    允許指定解壓檔案時使用的編碼,支持指定編碼的unarchiver。如果未指定,將使用歸檔程序默認值。Archiver默認值通常代表理智(modern)的values。
                -->
                <!--string-->
                <encoding/>
            </unpackOptions>
            <!--
                爲此dependencySet設置依賴項範圍。
                默認值是:runtime。
            -->
            <!--string-->
            <scope/>
            <!--
                確定當前項目構建過程中產生的工件是否應該包含在這個依賴集中。(從2.2-beta-1開始)
                默認值是:true-->
            <!--boolean-->
            <useProjectArtifact/>
            <!--
                確定當前項目構建過程中產生的附件是否應該包含在這個依賴集中。(從2.2-beta-1開始)
                默認值是:false-->
            <!--boolean-->
            <useProjectAttachments/>
            <!--
                確定是否將傳遞依賴項包含在當前依賴項集的處理中。如果爲true,那麼include / excludes / useTransitiveFiltering將應用於傳遞依賴項構件以及主項目依賴項構件。
                如果爲false,則useTransitiveFiltering無意義,並且包含/排除僅影響項目的直接依賴關係。
                默認情況下,這個值是真的。(從2.2-beta-1開始)
                默認值是:true-->
            <!--boolean-->
            <useTransitiveDependencies/>
            <!--
                確定此依賴項集中的包含/排除模式是否將應用於給定工件的傳遞路徑。
                如果爲真,並且當前工件是由包含或排除模式匹配的另一個工件引入的傳遞依賴性,則當前工件具有與其相同的包含/排除邏輯。
                默認情況下,此值爲false,以保持與2.1版的向後兼容性。這意味着包含/排除僅僅直接應用於當前的工件,而不應用於傳入的工件。(從2.2-beta-1)
                默認值爲:false-->
            <!--boolean-->
            <useTransitiveFiltering/>
        </dependencySet>
    </dependencySets>
    <!--
        定義要包含在程序集中的Maven倉庫。可用於存儲庫中的工件是項目的依賴工件。創建的存儲庫包含所需的元數據條目,並且還包含sha1和md5校驗和。這對創建將被部署到內部存儲庫的檔案很有用。
        注意:目前,只有來自中央存儲庫的工件才被允許。
    -->
    <!--List<Repository>-->
    <repositories>
        <repository>
            <!--
                設置輸出目錄相對於程序集根目錄的根目錄。例如,“log”會將指定的文件放在歸檔根目錄下的日誌目錄中。
            -->
            <!--string-->
            <outputDirectory/>
            <!--
                (許多) 當存在<include>子元素時,它們定義一組包含的項目座標。如果不存在,則<includes>表示所有有效值。
                工件座標可以以簡單的groupId:artifactId形式給出,或者可以以groupId:artifactId:type [:classifier]:version的形式完全限定。
                另外,可以使用通配符,如*:maven- *
            -->
            <!--List<String>-->
            <includes/>
            <!--
                (許多) 當存在<exclude>子元素時,它們定義一組要排除的項目工件座標。如果不存在,則<excludes>不表示排除。
                工件座標可以以簡單的groupId:artifactId形式給出,或者可以以groupId:artifactId:type [:classifier]:version的形式完全限定。
                另外,可以使用通配符,如*:maven- *
            -->
            <!--List<String>-->
            <excludes/>
            <!--
                    與UNIX權限類似,設置所包含文件的文件模式。這是一個 OCTAL VALUE。格式:(用戶)(組)(其他)其中每個組件是Read = 4,Write = 2和Execute = 1的總和。
                    例如,值0644轉換爲用戶讀寫,組和其他只讀。默認值是0644
                -->
            <!--string-->
            <fileMode/>
            <!--
                與UNIX權限類似,設置包含的目錄的目錄模式。這是一個 OCTAL VALUE。格式:(用戶)(組)(其他)[Format: (User)(Group)(Other) ] 其中每個組件是Read = 4,Write = 2和Execute = 1的總和。
                例如,值0755轉換爲用戶讀寫,Group和其他只讀。默認值是0755.
            -->
            <!--string-->
            <directoryMode/>
            <!--
                如果設置爲true,則此屬性將觸發創建存儲庫元數據,這將允許存儲庫用作功能性遠程存儲庫。
                默認值是:false-->
            <!--boolean-->
            <includeMetadata/>
            <!--
                (許多) 指定要將一組工件與指定的版本對齊。groupVersionAlignment通過提供一個或多個<groupVersionAlignment>子元素來指定。
                允許一組工件與指定的版本對齊。
            -->
            <!--List<GroupVersionAlignment>-->
            <groupVersionAlignments>
                <groupVersionAlignment>
                    <!--
                        要爲其對齊版本的工件的groupId。
                    -->
                    <!--string-->
                    <id/>
                    <!--
                        您想要將該組對齊的版本。
                    -->
                    <!--string-->
                    <version/>
                    <!--
                        (許多) 當存在<exclude>子元素時,它們定義要排除的構件的artifactIds。如果不存在,則<excludes>不表示排除。排除是通過提供一個或多個<exclude>子元素來指定的。
                    -->
                    <!--List<String>-->
                    <excludes/>
                </groupVersionAlignment>
            </groupVersionAlignments>
            <!--
                指定此存儲庫中包含的工件的範圍。(從2.2-beta-1開始)
                默認值是:runtime。
            -->
            <!--string-->
            <scope/>
        </repository>
    </repositories>
    <!--
        (許多) 指定要包含在程序集中的共享組件xml文件位置。指定的位置必須相對於描述符的基本位置。
        如果描述符是通過類路徑中的<descriptorRef />元素找到的,那麼它指定的任何組件也將在類路徑中找到。
        如果通過路徑名通過<descriptor />元素找到,則此處的值將被解釋爲相對於項目basedir的路徑。
        當找到多個componentDescriptors時,它們的內容被合併。檢查 描述符組件 瞭解更多信息。
        componentDescriptor通過提供一個或多個<componentDescriptor>子元素來指定。
    -->
    <!--List<String>-->
    <componentDescriptors/>
</assembly>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章