springboot项目启动的时候参数无效
今天启动一个springboot项目发现启动的时候输入的参数都是不能生效,但是yaml文件的配置却生效了,排查了半天,最后发现原来启动类里面有问题,原代码如下
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class);
}
}
改动run方法的参数,添加args参数如下
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class,args);
}
}
启动之后,指定参数即可生效。
springboot项目启动参数设置问题
Spring boot项目常用的几种启动方式
Maven启动指定Profile通过-P,如mvn spring-boot:run -P test,但这是Maven的Profile。
- 如果要指定spring-boot的spring.profiles.active,则必须使用mvn spring-boot:run -Drun.profiles=test
- 如果使用命令行直接运行jar文件,则使用java -jar -Dspring.profiles.active=test demo-0.0.1-SNAPSHOT.jar
- 如果使用开发工具,运行Application.java文件启动,则增加参数–spring.profiles.active=test
war包部署方式
对于war包部署方式在启动类中需要做如下配置
public class TestApplication extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(TestApplication.class, args);
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(TestApplication.class);
}
}
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。