Java 为多个环境配置单个属性文件

Java 为多个环境配置单个属性文件,java,configuration,Java,Configuration,如何为多个环境配置单个配置(property/xml)文件?比如: <env="dev"> <webservice-url>http:server1:1010</webservice-url> </env> <env="preprod"> <webservice-url>http:server2:1010</webservice-url> </env> <env="prod"> <w

如何为多个环境配置单个配置(property/xml)文件?比如:

<env="dev">
<webservice-url>http:server1:1010</webservice-url>
</env>
<env="preprod">
<webservice-url>http:server2:1010</webservice-url>
</env>
<env="prod">
<webservice-url>http:server3:1010</webservice-url>
</env>

http:server1:1010
http:server2:1010
http:server3:1010

在这里,env值作为一个JVM参数(-D选项)给出,类似于-D=prepod

可以使用环境名称作为属性名称的前缀

dev.webservice-url=http:server1:1010
preprod.webservice-url=http:server2:1010
prod.webservice-url=http:server3:1010
如果将JVM选项指定为
-Ddeployment=dev
,则可以按如下方式访问相应的选项:

propertyName = System.getProperty("deployment") + ".webservice-url";
url = props.getProperty(propertyName);

你的道路是正确的。如果它们是简单属性,则更简单的做法是在每个环境中使用属性文件,并且仅根据vm参数加载相应的属性文件。不需要xml。@SurajChandran我不知道如何为应用程序加载此xml文件。您是运行独立jvm还是在web容器中运行?@SurajChandran WebContainer。Tomcat/JBoss是特定的。