Maven打jar包之maven-jar-plugin配置詳解,自動生成MANIFEST.MF檔案
阿新 • • 發佈:2019-09-06
一、maven-jar-plugin配置介紹
最近學習springboot多模組打jar包部署專案,用到了maven-jar-plugin外掛,好好研究一番,廢話不多說,請往下看:
maven 外掛功能:compile、package、deploy...都是在${project.build.directory }/classes 檔案路徑下,測試是在test-classes下操作,如圖:
明確了這一點方便我們理解maven打包外掛。
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>3.1.2</version> <configuration> <archive> <!-- 存檔 --> <addMavenDescriptor/> <!-- 新增maven 描述,就是META-INF下的maven資料夾 --> <compress/> <!-- 壓縮 --> <forced/> <!-- 是否強制重建存檔 --> <index/> <!-- 建立的存檔是否包含 INDEX.LIST檔案 --> <manifest> <!-- 配置清單(MANIFEST)--> <addClasspath/> <!-- 是否建立Class-Path清單條目--> <addDefaultImplementationEntries/> <addDefaultSpecificationEntries/> <addExtensions/> <classpathLayoutType/> <classpathMavenRepositoryLayout/> <classpathPrefix/> <!-- classpath 字首 --> <customClasspathLayout/> <mainClass/> <!-- 程式主函式入口 --> <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> <!-- 新增檔案到jar中的檔案 --> <include/> </includes> </configuration> </plugin>
有興趣的可以去官網補充一下,我列了一些可能用到的
二、實戰
本外掛用於指定本專案生成的jar包中的MANIFEST.MF檔案中的配置,如Class-Path和Main-Class,常用的配置為:
新增依賴
父級:
子級:
執行maven打包,target生成jar檔案,如下圖:
拷貝到桌面,用WinRAR開啟,目錄如下:
MANIFEST.MF檔案在上面標紅的資料夾裡。
以上打包方法還沒有生成執行所需要的依賴jar檔案,下一篇接著學習。本次主要是生成本子專案的jar檔案和MANIFEST.MF檔案。專案資訊如下圖: