利用maven将项目打包成一个可以运行的独立jar包

Posted 致梦想

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了利用maven将项目打包成一个可以运行的独立jar包相关的知识,希望对你有一定的参考价值。

目标:希望把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

可以直接运行。

 

以上是关于利用maven将项目打包成一个可以运行的独立jar包的主要内容,如果未能解决你的问题,请参考以下文章

将maven项目打包在docker容器中的运行过程

使用maven 将springboot 应用打包成jar并运行

编写一个简单的 maven 多模块项目的打包脚本

编写一个简单的 maven 多模块项目的打包脚本

Springboot项目打包成jar运行2种方式

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