SpringBoot 项目打包的时候可以通过插件 spring-boot-maven-plugin 来 repackage
项目,使得打的包中包含所有依赖,可以直接运行。例如:
<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 运行不起来,可以进行如下处理:
- 首先确保 JDK 版本一致,比如项目的 JDK 是17,那环境的 JDK 版本要等于或者高于 17。否则会报如下错误:
Error: A JNI error has occurred, please check your installation and try again
- 如果配置文件(本地和 Nacos)中包含中文(注释也算),则需要加上参数
-Dfile.encoding=utf-8
以编码 UTF-8 启动。java '-Dfile.encoding=utf-8' -jar sevnce-auth-1.0.0.jar