【问题标题】:Read property file resides in /ear/war from ear/lib/*.jar从 ear/lib/*.jar 读取属性文件位于 /ear/war
【发布时间】:2015-10-22 04:48:54
【问题描述】:

我正在将应用程序从 glassfish 2 迁移到 glassfish 3,遇到了以下问题。

我有带有属性文件的战争文件,它从公共属性加载 jar 中读取,其内容类似于 PropUtil.class.getResourceAsStream('/my.properties')。

在 glassfish 2 中,我能够毫无问题地读取属性文件,但是,当我迁移到 glassfish 3 时,它找不到属性文件。

做了一些调试,发现 Glassfish 2 使用 EJBClassLoader 加载属性,而 glassfish 3 使用 EarLibClassLoader 加载。

我可以从 glassfish3/jee6 中 ear/lib 中的 jar 中读取战争中的属性文件吗?

耳朵结构

【问题讨论】:

标签: jakarta-ee glassfish-3 ear


【解决方案1】:

您依赖 GlassFish2 中的错误。

EAR/lib 和 EJB 中的类绝不应该能够访问 WAR 中的资源。只允许反过来。

重新设计您的方法。要么将该公共库移动到 WAR/WEB-INF/lib 中。或者,将该属性文件移动到 EAR/lib 中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-12-02
    • 2013-09-05
    • 1970-01-01
    • 2010-12-08
    • 1970-01-01
    • 2017-01-30
    • 2014-03-12
    相关资源
    最近更新 更多