1.问题产生背景
这周在linux环境下用jar 部署springboot项目的时候遇到了一个问题,使用以下命令启动项目时候:
nohup java -jar XXX.jar --spring.profiles.active=prod>> Log.log &
启动时候环境变量是dev 没有切到prod上
2.问题产生原因
启动类的run方法中没有传args参数,一般来说新建一个springboot项目会直接创建一个启动类,但是这回是新建maven项目,然后引入springboot相关的依赖,启动类是自己手写的,导致agrs参数没有传入。
@SpringBootApplication
public class SpringbootwebApplication {
public static void main(String[] args) {
SpringApplication.run(SpringbootwebApplication.class);
for(String arg:args){
System.out.println(arg);
}
}
}
3.解决方法
在run方法中传入agrs参数即可。
@SpringBootApplication
public class SpringbootwebApplication {
public static void main(String[] args) {
SpringApplication.run(SpringbootwebApplication.class, args);
for(String arg:args){
System.out.println(arg);
}
}
}

本文记录了在Linux环境下使用jar包部署SpringBoot项目时遇到的问题:项目启动时未正确加载目标环境变量。问题源于启动类未传递args参数,通过在SpringApplication.run方法中加入args参数解决了该问题。

2059

被折叠的 条评论
为什么被折叠?



