0

我有一个abc.properties在我WARWEB-INF/classes. 另外,我把它放在一个(正确注册的)模块中。当我然后打电话时:

ResourceBundle.getBundle("abc")

会选择哪个文件?

在我们的生产环境中,放置在里面的文件WAR被选中(一致),但在 UAT 环境中(使用相同版本的 JBoss),它的模块中的属性文件被选中(一致

JBoss 将资源加载到类路径中是否有定义的顺序,还是随机发生的?(虽然我们没有观察到任何随机性。)

(模块在生产服务器中正确注册,因为其他资源,即ojdbc jar放置在模块中的资源被正确加载)

这是我们注册模块中的module.xml

<module xmlns="urn:jboss:module:1.0" name="com.oracle">
  <resources>
    <resource-root path="ojdbc6.jar"/>
    <resource-root path="properties"/>
  </resources>
  <dependencies>
    <module name="javax.api"/>
    <module name="javax.transaction.api"/>
  </dependencies>
</module>

abc.properties放置在properties上述模块中定义的文件夹内

PS:我知道以这种方式放置两个同名的属性文件是错误的做法,但我想知道为什么我会看到这种行为。

4

1 回答 1

1

您可以查看有关 EAP 6.4 的类加载优先级的官方文档

于 2018-07-20T05:05:33.877 回答