Jakarta ee 从ear/lib/*.jar读取位于/ear/war中的属性文件

Jakarta ee 从ear/lib/*.jar读取位于/ear/war中的属性文件,jakarta-ee,glassfish-3,ear,Jakarta Ee,Glassfish 3,Ear,我正在将应用程序从glassfish 2迁移到glassfish 3,遇到以下问题 我有一个带有属性文件的war文件,它从公共属性加载jar读取,该jar类似于PropUtil.class.getResourceAsStream('/my.properties') 在GlassFish2中,我能够读取属性文件而没有任何问题,但是,当我迁移到GlassFish3时,它找不到属性文件 进行了一些调试,发现Glassfish 2使用EJBClassLoader加载属性,而Glassfish 3使用Ea

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

我有一个带有属性文件的war文件,它从公共属性加载jar读取,该jar类似于PropUtil.class.getResourceAsStream('/my.properties')

在GlassFish2中,我能够读取属性文件而没有任何问题,但是,当我迁移到GlassFish3时,它找不到属性文件

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

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

耳朵结构

您依赖GlassFish2中的一个bug

EAR/lib和EJB中的类永远不应该能够在战争中访问资源。只允许反过来

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

这可能会有所帮助