原來都是使用maven-assembly-plugin插件進行打包,但存在一個問題就是打出來的jar包包含依賴於一體,jar包體積會比較大,每次更新jar包需要傳輸的數據量也就很大了,具體使用方法為:https://www.cnblogs.com/nihaorz/p/6567047.html
現在又學習到一種新的打包方式,即使用maven-jar-plugin和maven-dependency-plugin插件
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>3.2.0</version> <configuration> <archive> <manifest> <addClasspath>true</addClasspath> <classpathPrefix>lib/</classpathPrefix> <mainClass>com.wangrui027.javafx.weather.WeatherApp</mainClass> </manifest> </archive> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <version>3.2.0</version> <executions> <execution> <id>copy-dependencies</id> <phase>package</phase> <goals> <goal>copy-dependencies</goal> </goals> <configuration> <outputDirectory>${project.build.directory}/lib</outputDirectory> </configuration> </execution> </executions> </plugin>
修改 mainClass 為包含main函數的類后,執行 mvn clean package 即可完成打包。
這種打包方式會將依賴的jar包copy到可執行jar包同級目錄的lib文件夾下,使用的時候需將jar包和lib包一起拷貝
參考連接:http://www.blogjava.net/liuguly/archive/2017/05/03/432496.html