maven项目打包插件(将maven项目打包成一个可执行的jar(瘦jar))

宝剑锋从磨砺出,梅花香自苦寒来。这篇文章主要讲述maven项目打包插件:将maven项目打包成一个可执行的jar(瘦jar)相关的知识,希望能为你提供帮助。

通过maven-dependency-plugin插件和maven-jar-plugin来组合,maven-jar-plugin其实是maven项目自带的,在pom文件里面不依赖也是可以的,但是我需要修改一些其他属性,比如把lib添加到addClasspath下面,classpathPrefix设置前缀,mainClass方法指定运行的主方法,这样打包之后在jar里面的MANIFEST.MF里面就会有自动把lib包下面的依赖包自动添加进去,然后把可执行的jar包和lib文件夹放在同一个目录下面就可以自动读取到lib里面的jar包了,要想在同目录下面生成lib目录,就需要依靠第二个插件maven-dependency-plugin,这个插件就是把maven项目在pom文件里面依赖的jar包全部放到指定的目录下面去,比如这里的例子就是把依赖包全部输出到project.build.directory/lib,其中的{project.build.directory}/lib,其中的project.build.directory/lib,其中的{project.build.directory}是maven环境自带的内置变量。

< build>
< plugins>
< plugin>
< groupId> org.apache.maven.plugins< /groupId>
< artifactId> maven-dependency-plugin< /artifactId>
< version> 2.10< /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>
< plugin>
< groupId> org.apache.maven.plugins< /groupId>
< artifactId> maven-jar-plugin< /artifactId>
< version> 2.4< /version>
< configuration>
< archive>
< manifest>
< addClasspath> true< /addClasspath>
< classpathPrefix> lib< /classpathPrefix>
< mainClass> com.zxl.minio.FileUploader< /mainClass>
< /manifest>
< /archive>
< /configuration>
< /plugin>
< /plugins>
< /build>


【maven项目打包插件(将maven项目打包成一个可执行的jar(瘦jar))】执行时需要将??lib??目录和jar文件放在一起,不然找不到依赖
maven项目打包插件(将maven项目打包成一个可执行的jar(瘦jar))

文章图片






    推荐阅读