Jboss服务器未加载Java环境属性

Jboss服务器未加载Java环境属性,java,tomcat,jboss,system,getproperty,Java,Tomcat,Jboss,System,Getproperty,我正在尝试使用以下Java代码在web应用程序中加载属性文件。 InputStream in = ContextEventListener.class.getResourceAsStream(resourceConstVal); Properties config = new Properties(); config.load(in); 当此应用程序在tomcat服务器上运行时;属性文件中指定的所有属性将作为系统变量导出,并可通过以下代码访问 System.getProperty("TEMP"


我正在尝试使用以下Java代码在web应用程序中加载属性文件。

InputStream in = ContextEventListener.class.getResourceAsStream(resourceConstVal);
Properties config = new Properties();
config.load(in);
当此应用程序在tomcat服务器上运行时;属性文件中指定的所有属性将作为系统变量导出,并可通过以下代码访问

System.getProperty("TEMP")
`
但是,当同一个应用程序在Jboss服务器上运行时;属性必须由

Set<Object> keySet = config.keySet();
for (Iterator iterator = keySet.iterator(); iterator.hasNext();) {
String strVal = (String) iterator.next();
System.setProperty(strVal, config.getProperty(strVal));
}
Set keySet=config.keySet();
for(Iterator Iterator=keySet.Iterator();Iterator.hasNext();){
String strVal=(String)迭代器.next();
System.setProperty(strVal,config.getProperty(strVal));
}

使用JDK1.6、Tomcat 7.0、Jboss AS 6.1

属性文件的内容
内容目录=XXXXXX
响应文件\u NM=YYYYYYYY
请求\u INT\u文件\u NM=ZZZZZZZ


想知道为什么不同的应用服务器的行为会有所不同。

这是因为Jboss将.properties文件放在JAR中的类路径上,并且在部署后的某个时候无法编辑。这里有一个加载属性文件的变通方法,它只需要存在读取权限,因为属性对象可以从输入流中很好地加载。不导出的是单个属性。