2

application.properties 

我们有线

spring.profiles.active=LOCALHOST

application-DEV.properties

,我们有这条线

spring.profiles.active=DEV,dbcache,metrics,AWS

. 运行应用程序时

java -jar app.war -Dspring.profiles.active=DEV

控制台输出说

The following profiles are active: LOCALHOST

,即

-Dspring.profiles.active=DEV 

参数不受尊重,应用程序仍使用默认的 LOCALHOST 配置文件。

4

2 回答 2

9

以防万一有人遇到和我一样的问题,请确保您的主类 args 已传递给 spring。希望能帮助到你。

public static void main(String[] args) {
    SpringApplication.run(Application.class, args);
}
于 2019-07-27T14:40:45.950 回答
4

我的java命令手册页说:

java [ options ] -jar file.jar [ argument ... ]

也就是说,JVM 选项(例如属性设置)必须放在-jar(或主类)之前。之后的任何内容都被视为传递给 的参数main

这实际上是有目的的,而不仅仅是迂腐——您可能有一个启动子 JVM 的工具(例如,Maven 可以做到这一点)并希望提供要在那里传递的参数。

于 2016-12-23T01:07:15.950 回答