Java 访问属性文件中的系统属性

Java 访问属性文件中的系统属性,java,environment-variables,system-properties,Java,Environment Variables,System Properties,我已将java文件中的系统属性设置为: System.setProperty("myRunOnEnv","dev"); 现在我在.properties文件中使用这个系统属性作为 my.env=${myRunOnEnv} &稍后在我的java代码中,我得到的值为 XYZ.getProperty(...) 但是my.env的值是“${myRunOnEnv}”,而不是“dev”。我做错了什么?在属性文件中给出 my.env=${sys:myRunOnEnv} 请注意,您应该在设置System.

我已将java文件中的系统属性设置为:

System.setProperty("myRunOnEnv","dev");
现在我在.properties文件中使用这个系统属性作为

my.env=${myRunOnEnv}
&稍后在我的java代码中,我得到的值为

XYZ.getProperty(...)

但是my.env的值是“${myRunOnEnv}”,而不是“dev”。我做错了什么?

在属性文件中给出

my.env=${sys:myRunOnEnv}

请注意,您应该在设置System.setProperty后加载.properties文件

您没有做错任何事情,Java只是没有用系统属性值替换
${…}
的功能。您必须自己编程。我的
.properties
文件在启动时通过spring加载,我在启动tomcat时将该属性添加为
-d
参数,但它不起作用。知道怎么回事吗?