SpringBoot 打包所有依赖

SpringBoot 项目打包的时候可以通过插件 spring-boot-maven-pluginrepackage 项目,使得打的包中包含所有依赖,可以直接运行。例如:

<plugins>
    <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
        <version>2.7.6</version>
        <executions>
            <execution>
                <goals>
                    <goal>repackage</goal>
                </goals>
            </execution>
        </executions>
    </plugin>
</plugins>

这样用 package 打包时会生成两个包,一个是包含了所有依赖的以 .jar 结尾,一个是不包含依赖的以 .jar.original 结尾。

如果打的包在 Windows 运行不起来,可以进行如下处理:

  1. 首先确保 JDK 版本一致,比如项目的 JDK 是17,那环境的 JDK 版本要等于或者高于 17。否则会报如下错误:
    Error: A JNI error has occurred, please check your installation and try again
    
  2. 如果配置文件(本地和 Nacos)中包含中文(注释也算),则需要加上参数 -Dfile.encoding=utf-8 以编码 UTF-8 启动。
    java '-Dfile.encoding=utf-8' -jar sevnce-auth-1.0.0.jar
    
posted @ 2024-05-01 13:40  天航星  阅读(157)  评论(0编辑  收藏  举报