【Maven學習】Maven打包生成包含所有依賴的jar包


http://blog.csdn.net/u013177446/article/details/54134583

**************************************************

 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即可

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM