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

时间:2015-09-29 15:01:22

标签: java tomcat jboss system getproperty


我正在尝试使用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));
}


使用JDK 1.6,Tomcat 7.0,Jboss AS 6.1。

财产档案的内容
CONTENT_DIR = XXXXXX
RESPONSE_FILE_NM = YYYYYYYY
REQUEST_INT_FILE_NM = ZZZZZZZ

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

1 个答案:

答案 0 :(得分:0)

这就是因为Jboss将.properties文件放在类路径上的jar中,并且在部署后的某个时候无法编辑。这是一种解决方法https://developer.jboss.org/wiki/HowToPutAnExternalFileInTheClasspath