目標:希望把Java項目打包成一個完整的jar包,可以獨立運行,不需要再依賴其他jar包。
我們在用eclipse中mvn創建mvn項目的時候,選擇非webapp,會默認的以jar打包形式,如下圖:
如果打包成一個完整的jar包,需要在pom.xml中配置一個插件:
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>3.1.0</version> <executions> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> <configuration> <transformers> <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> <mainClass>application.App</mainClass> </transformer> </transformers> </configuration> </execution> </executions> </plugin>
其中需要注意的是<mainClass>這個tag中要配置成你自己的main函數所在的類。
然后,在項目上右鍵,選擇Run As->Maven Install,這個時候報了一個錯,提示我用的是jre而不是jdk。
在Window->preferences中查看
如果沒有jdk,需要點擊add,添加你安裝的jdk路徑。
ok,再重新maven install一下,可以了,在target目錄下生成了一個jar包,
直接輸入命令:java -jar XXX.jar
可以直接運行。