java - JBoss 6.4 中类加载的顺序 : Is WEB-INF/classes or modules loaded first?

标签 java jboss classloader jboss6.x jboss-modules

我的 WARWEB-INF/classes 中有一个名为 abc.properties 的属性文件。另外,我已将其放置在(正确注册的)模块中。当我打电话时:

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 文件夹内

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

最佳答案

可以查看官方documentation关于 EAP 6.4 的类加载优先级

关于java - JBoss 6.4 中类加载的顺序 : Is WEB-INF/classes or modules loaded first?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51414644/

相关文章:

jsf - JBoss 部署中的类加载 as 7

java - 基于 Maven 的 JAX WS 项目无法在 Eclipse 中运行

java - 自定义 ClassLoader 在 JUnit 测试中代理静态库类

java - Flyway - 比较校验和

java - JSR 303 验证覆盖

java - 你如何测试 junit 测试

java - 使用 ClassLoader 方法检索类下的所有资源作为输入流

Java Spring IOC覆盖bean的属性

ssl - 如何通过 ssl 在 ejb 中获取远程接口(interface)

scala - 动态加载后,A 类无法转换为 A 类