【Maven學習】Maven打包生成包含所有依賴的jar包
阿新 • • 發佈:2019-02-12
maven打包生成的普通jar包,只包含該工程下原始碼編譯結果,不包含依賴內容。同時,maven提供以下方式生成包含所有依賴的jar檔案,依賴以class的方式存在;
將此plugin新增到pom檔案中
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<!--這部分可有可無,加上的話則直接生成可執行jar包-->
<!--<archive>-->
<!--<manifest>-->
<!--<mainClass>${exec.mainClass}</mainClass>-->
<!--</manifest>-->
<!--</archive>-->
<descriptorRefs >
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
</plugin>
如果出現CLASS重名的情況,這時候就要把最新的版本號新增進去即可,
2.在當前專案下執行mvn assembly:assembly, 執行成功後會在target資料夾下多出一個以-jar-with-dependencies結尾的JAR包. 這個JAR包就包含了專案所依賴的所有JAR的CLASS.
3.如果不希望依賴的JAR包變成CLASS的話,可以修改ASSEMBLY外掛.
- 找到assembly在本地的地址,一般是
c:/users/${your_login_name}/.m2/\org\apache\maven\plugins\maven-assembly-plugin\2.4 - 用WINZIP或解壓工具開啟此目錄下的maven-assembly-plugin-2.4.jar, 找到assemblies\jar-with-dependencies.xml
- 把裡面的UNPACK改成FALSE即可