我正在将应用程序从glassfish 2迁移到glassfish 3,遇到问题。
我有一个带有属性文件的war文件,它从公共属性加载jar读取,读取类似于PropUtil.class.getResourceAsStream('/ my.properties')。
在glassfish 2中,我能够毫无问题地阅读属性文件,但是,当我迁移到glassfish 3时,它无法找到属性文件。
进行了一些调试并发现Glassfish 2使用EJBClassLoader加载属性,而glassfish 3使用EarLibClassLoader加载。
我可以从glassfish3 / jee6中ear / lib内的jar读取war内的属性文件吗?
答案 0 :(得分:3)
您依赖于GlassFish2中的错误。
EAR / lib和EJB中的类永远不应该能够访问WAR中的资源。它只允许反过来。
重新设计您的方法。将该公共库移动到WAR / WEB-INF / lib中。或者,将该属性文件移动到EAR / lib。