如果你使用JAR解决方案:
– 为每个环境使用独特的分类器.您将拥有x属性文件:dev_config.properties / test_config.properties等…
这样你就可以设置一个独特的JAVA_OPTS来设置你所处的环境.
然后你得到正确的属性文件:
使用:System.getenv(“ENV”)或System.getProperty(“ENV”)
if ("DEV".Equals(System.getenv("ENV"))
here you load ==> the dev_config.properties
要将属性加载到JAR中,使用此maven插件非常容易.
org.apache.maven.plugins
maven-assembly-plugin
packaging-deployment_manifests_bundle
package
attached
descriptors/deployment_manifests_bundle.xml
如果你使用environment_variables:
我从未在我的项目中尝试过这个解决方案,我总是使用属性文件解决方案.但如果您只设置了几个变量,这可能会更快……您可以使用以下命令访问这些变量:
import java.util.Map;
public class EnvMap {
public static void main (String[] args) {
Map env = System.getenv();
for (String envName : env.keySet()) {
System.out.format("%s=%s%n",
envName,
env.get(envName));
}
}
}
如果环境变量中的数据没有任何敏感信息(如密码等),则可以添加数据.IMO更容易混淆属性文件中的数据.因此,如果安全受到威胁,这是一个需要考虑的问题.