maven打包生成普通jar時,只會包含工程下源碼編譯結果,不包含pom.xml里依賴的jar,如需加入項目依賴的jar文件,可使用maven-assembly-plugin插件,使用方式如下:
- 在pom.xml中添加maven-assembly-plugin插件
<plugins> <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>
- 在pom.xml同級目錄下打開命令行執行如下命令:
mvn assembly:assembly
執行成功后會在target文件夾下多出一個以-jar-with-dependencies.jar結尾的jar包,這個jar包就包含了項目依賴的所有jar的class文件。
如果不希望依賴的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