spring.profiles.active 未兑现

spring.profiles.active not honoured

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 配置文件。

我的 java 命令手册页说:

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

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

的参数

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

以防万一有人遇到与我相同的问题,请确保将您的主要 class 参数传递给 spring。希望对你有帮助。

public static void main(String[] args) {
    SpringApplication.run(Application.class, args);
}