原来都是使用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