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

Posted a772304419

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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包全部放到指定的目录下面去,比如这里的例子就是把依赖包全部输出到 p r o j e c t . b u i l d . d i r e c t o r y / l i b , 其 中 的 {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>

执行时需要将​​lib​​目录和jar文件放在一起,不然找不到依赖

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


以上是关于maven项目打包插件:将maven项目打包成一个可执行的jar(瘦jar)的主要内容,如果未能解决你的问题,请参考以下文章

Maven项目打包成可执行Jar文件

scala maven插件没有将scala文件打包成jar

求教java maven项目打包引入的问题,求大神解答

SpringBoot之通过Maven将项目打包成ROOT.war-yellowcong

如何将maven项目打包成可执行的jar

SpringBoot+Docker项目打包(jar)和部署