maven-自定義打包maven-assembly-plugin插件

插件名稱:maven-assembly-plugin
目前最新的版本:3.2.0
作用:該插件可以使用戶根據(jù)自己的需求自定義打包規(guī)則和打包類型

pom文件配置示例

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-assembly-plugin</artifactId>
        <version>3.2.0</version>
        <configuration>
            <finalName>testProject</finalName>   <!-- 配置打包后的文件前綴名 -->
            <descriptors>
               <descriptor>src/main/assembly/package.xml</descriptor>   <!-- 配置文件路徑 -->
            </descriptors>
        </configuration>
        <executions> <!-- 配置assembly goals -->
            <execution> 
                <id>make-assembly</id>
                <phase>package</phase>
                <goals>
                    <goal>single</goal>
                </goals>
             </execution>
        </executions>
    </plugin>

package.xml文件自定義打包配置

<?xml version="1.0" encoding="UTF-8"?>
<assembly>
    <!-- 最終打包文件的后綴镊叁,格式為 ${fileName}-bin -->
    <id>bin</id>
    <!-- 最終打包成一個用于發(fā)布的zip文件 -->
    <formats>
        <format>zip</format>
    </formats>

    <!-- 把依賴的jar包打包進(jìn)zip的lib目錄下-->
    <dependencySets>
        <dependencySet>
            <!-- 不使用項(xiàng)目的artifact -->
            <useProjectArtifact>false</useProjectArtifact>
            <!-- 打包進(jìn)zip文件下的lib目錄中  -->
            <outputDirectory>lib</outputDirectory>
            <!-- 第三方j(luò)ar不要解壓 -->
            <unpack>false</unpack>
        </dependencySet>
    </dependencySets>

    <!-- 文件配置 -->
    <fileSets>
        <!-- 把項(xiàng)目的配置文件抖剿,打包進(jìn)zip包的config目錄下    -->
        <fileSet>
            <!-- 配置項(xiàng)目中需要被打包的文件的存儲路徑 -->
            <directory>${project.basedir}/src/main/resources/${env}</directory>
            <outputDirectory>/config</outputDirectory>
            <includes>
                <!-- 可以指定單個文件 -->
                <!--<include>project.config</include>-->
                <!-- 可以直接指定所有文件 -->
                <include>*.*</include>
            </includes>
        </fileSet>

        <!-- 把項(xiàng)目的配置文件盅抚,打包進(jìn)zip包的根目錄下    -->
        <fileSet>
            <directory>${project.basedir}/src/main/resources/${env}</directory>
            <outputDirectory></outputDirectory>
            <includes>
                <include>scf*.xml</include>
            </includes>
        </fileSet>

        <!-- 把項(xiàng)目自己編譯出來根目錄下的jar文件傻铣,打包進(jìn)zip文件的根目錄 -->
        <fileSet>
            <directory>${project.build.directory}</directory>
            <outputDirectory></outputDirectory>
            <includes>
                <include>*.jar</include>
            </includes>
        </fileSet>

        <!-- 把項(xiàng)目自己編譯出來的jar文件夾下的jar文件,去除第三方j(luò)ar吐葱,打包進(jìn)zip文件的根目錄 -->
        <fileSet>
            <directory>${project.build.directory}/jar</directory>
            <outputDirectory></outputDirectory>
            <excludes>
                <exclude>lib/*.jar</exclude>
            </excludes>
            <includes>
                <include>*.jar</include>
            </includes>
        </fileSet>
    </fileSets>
</assembly>

運(yùn)行maven的package后秸仙,會進(jìn)行編譯和打包袋坑,按照上述的配置會多產(chǎn)生一個testProject-bin.zip文件
或者直接運(yùn)行plugins-assembly下的assembly:single,這樣項(xiàng)目不會重新編譯优幸,只會將相應(yīng)的文件按照上述配置打包成testProject-bin.zip文件

testProject-bin.zip文件解壓后的目錄結(jié)構(gòu)
- testProject-bin.zip
-- testProject
-- -- config
-- -- -- project.config
-- -- -- project2.config
-- -- lib
-- -- -- log4j-core-2.8.2.jar
-- -- -- mybatis-3.2.3.jar
-- -- -- ...
-- -- testProject.jar
-- -- log4j2.xml

下面對上述簡單介紹一下

id:添加到打包文件名的標(biāo)識符吨拍,用來做后綴;例如<id>bin</id>网杆,格式為 ${fileName}-bin
formats:是assembly插件支持的打包文件格式羹饰,有zip、tar跛璧、tar.gz、tar.bz2新啼、jar追城、war≡镒玻可以同時定義多個format座柱;如果按上面的配置,生成的文件就是${fileName}-bin.zip物舒。

dependencySets/dependencySet
設(shè)置工程依賴文件在打包時的屬性色洞。也與fileSets大致相同,不過還有兩個特殊的配置:

  • unpack:布爾值冠胯,false表示將依賴以原來的JAR形式打包火诸,true則表示將依賴解成*.class文件的目錄結(jié)構(gòu)打包。
  • scope:表示符合哪個作用范圍的依賴會被打包進(jìn)去荠察。compile與provided都不用管置蜀,一般是寫runtime。

fileSets/fileSet
fileSet用來設(shè)置一組文件在打包時的屬性

  • directory:源目錄的路徑
  • includes/excludes:設(shè)定包含或排除哪些文件悉盆,支持通配符
  • fileMode:指定該目錄下的文件屬性盯荤,采用Unix八進(jìn)制描述法,默認(rèn)值是0644
  • outputDirectory:生成目錄的路徑

files/file
與fileSets大致相同焕盟,不過是指定單個文件秋秤,還可以通過destName屬性來設(shè)置與源文件不同的名稱

參考:官網(wǎng): assembly插件官網(wǎng)介紹

如果轉(zhuǎn)載此博文,請附上本文鏈接脚翘,謝謝合作~

如果感覺這篇文章對您有所幫助灼卢,請點(diǎn)擊一下“喜歡”或者“關(guān)注”博主,您的喜歡和關(guān)注將是我前進(jìn)的最大動力!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末来农,一起剝皮案震驚了整個濱河市芥玉,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌备图,老刑警劉巖灿巧,帶你破解...
    沈念sama閱讀 206,214評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件赶袄,死亡現(xiàn)場離奇詭異,居然都是意外死亡抠藕,警方通過查閱死者的電腦和手機(jī)饿肺,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來盾似,“玉大人敬辣,你說我怎么就攤上這事×阍海” “怎么了溉跃?”我有些...
    開封第一講書人閱讀 152,543評論 0 341
  • 文/不壞的土叔 我叫張陵,是天一觀的道長告抄。 經(jīng)常有香客問我撰茎,道長,這世上最難降的妖魔是什么打洼? 我笑而不...
    開封第一講書人閱讀 55,221評論 1 279
  • 正文 為了忘掉前任龄糊,我火速辦了婚禮,結(jié)果婚禮上募疮,老公的妹妹穿的比我還像新娘炫惩。我一直安慰自己,他們只是感情好阿浓,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,224評論 5 371
  • 文/花漫 我一把揭開白布他嚷。 她就那樣靜靜地躺著泉坐,像睡著了一般丹允。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上壹若,一...
    開封第一講書人閱讀 49,007評論 1 284
  • 那天稿蹲,我揣著相機(jī)與錄音扭勉,去河邊找鬼。 笑死苛聘,一個胖子當(dāng)著我的面吹牛涂炎,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播设哗,決...
    沈念sama閱讀 38,313評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼唱捣,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了网梢?” 一聲冷哼從身側(cè)響起震缭,我...
    開封第一講書人閱讀 36,956評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎战虏,沒想到半個月后拣宰,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體党涕,經(jīng)...
    沈念sama閱讀 43,441評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,925評論 2 323
  • 正文 我和宋清朗相戀三年巡社,在試婚紗的時候發(fā)現(xiàn)自己被綠了膛堤。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,018評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡晌该,死狀恐怖肥荔,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情朝群,我是刑警寧澤燕耿,帶...
    沈念sama閱讀 33,685評論 4 322
  • 正文 年R本政府宣布,位于F島的核電站姜胖,受9級特大地震影響誉帅,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜谭期,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,234評論 3 307
  • 文/蒙蒙 一堵第、第九天 我趴在偏房一處隱蔽的房頂上張望吧凉。 院中可真熱鬧隧出,春花似錦、人聲如沸阀捅。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,240評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽饲鄙。三九已至凄诞,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間忍级,已是汗流浹背帆谍。 一陣腳步聲響...
    開封第一講書人閱讀 31,464評論 1 261
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留轴咱,地道東北人。 一個月前我還...
    沈念sama閱讀 45,467評論 2 352
  • 正文 我出身青樓朴肺,卻偏偏與公主長得像窖剑,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子戈稿,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,762評論 2 345

推薦閱讀更多精彩內(nèi)容