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);
}
在
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);
}