java ResourceBundle.getBundle() 不确定
java ResourceBundle.getBundle() undeterministic
我在 WebSphere 上的 Java EE 应用程序 运行 上发生了非常非常奇怪的情况。
EAR
--someJar.jar
----config/propfile.properties
--WAR
----WEB-INF
------classes
--------config/propfile.properties
当应用程序启动时,ResourceBundle.getBundle("config/propfile.properties") 似乎从 WAR/WEB-INF/classes/config/propfile.properties.
中读取了一些属性
但是,在应用程序启动后 运行,ResourceBundle.getBundle("config/propfile.properties") 似乎从 someJar.jar/config/propfile.properties 中读取了 someProperty。
我认为事情就是这样发生的,因为我们对每个文件的 someProperty 有不同的值,并且我们遇到了一些错误(由于 someJar.jar/config/propfile.properties 的值不正确)。根据 Java EE 规范,WEB-INF/classes 应该首先加载?
这可能吗?我们无法在任何较低的环境中复制该问题。
WAR/META-INF/MANIFEST.MF
是...Class-Path: lib/begin...lib/end someJar.jar
如果对 ResourceBundle.getBundle("config/propfile.properties")
的第二次调用来自 ejb 模块中的 class,它将无法访问 WAR/WEB-INF/classes/config/propfile.properties
。这是因为每个模块都有不同的 class 加载器。
在以下 link 下载 ee 规范(或您的 javaee 标准的相应规范)。
http://download.oracle.com/otndocs/jcp/javaee-6.0-fr-eval-oth-JSpec/
在此版本中,相关部分是 EE.8.3
我在 WebSphere 上的 Java EE 应用程序 运行 上发生了非常非常奇怪的情况。
EAR
--someJar.jar
----config/propfile.properties
--WAR
----WEB-INF
------classes
--------config/propfile.properties
当应用程序启动时,ResourceBundle.getBundle("config/propfile.properties") 似乎从 WAR/WEB-INF/classes/config/propfile.properties.
中读取了一些属性但是,在应用程序启动后 运行,ResourceBundle.getBundle("config/propfile.properties") 似乎从 someJar.jar/config/propfile.properties 中读取了 someProperty。
我认为事情就是这样发生的,因为我们对每个文件的 someProperty 有不同的值,并且我们遇到了一些错误(由于 someJar.jar/config/propfile.properties 的值不正确)。根据 Java EE 规范,WEB-INF/classes 应该首先加载?
这可能吗?我们无法在任何较低的环境中复制该问题。
WAR/META-INF/MANIFEST.MF
是...Class-Path: lib/begin...lib/end someJar.jar
如果对 ResourceBundle.getBundle("config/propfile.properties")
的第二次调用来自 ejb 模块中的 class,它将无法访问 WAR/WEB-INF/classes/config/propfile.properties
。这是因为每个模块都有不同的 class 加载器。
在以下 link 下载 ee 规范(或您的 javaee 标准的相应规范)。
http://download.oracle.com/otndocs/jcp/javaee-6.0-fr-eval-oth-JSpec/
在此版本中,相关部分是 EE.8.3