SpringBoot打包
Window版
- 对SpringBoot项目打包(执行Maven构建指令package)
mvn package
2. 运行项目(执行启动命令)
java -jar xxx.jar(xxx.jar为项目打包后jar名)
- 临时属性 多个属性之间用空格分隔
# 例:设置端口 java -jar xxx.jar --server.port=8080
- 通过编程形式带参数启动SpringBoot
public static void main(String[] args) { atgs[0] = "--server.port=8080"; SpringApplication.run(TrustAmsApplication.class, args); }
- 不带参数启动SpringBoot程序
public static void main(String[] args) { SpringApplication.run(TrustAmsApplication.class); }
注意事项
jar支持命令行启动需要依赖插件支持,请确认打包时是否具备有SpringBoot对应的maven插件
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
可能出现的问题
执行启动命令出现xxx.jar没有主清单属性
原因一般为打包时没有将上面的依赖插件打包到项目中(打包时没有该插件)
没有依赖插件 有依赖插件打包后jar包 目录对比
Linux版
命令行运行
java -jar xxx.jar
后台运行并指定log文件名称
nohup java -jar xxx.jar > xxx.log 2>&1 &
后台运行并指定log文件名称, 虚拟机默认大小, 最大内存, 指定配置文件, 端口号, 文件默认编码
nohup java -Dfile.encoding=utf-8 -jar -Xms128M -Xmx512M -XX:PermSize=128M -XX:MaxPermSize=512M xxx.jar --server.port=8080 --spring.config.location=file:/xxx/xxx/application.yml --spring.profiles.active=xxx > xx.out 2>&1 &