我将应用程序从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中读取战争中的属性文件吗?
您依靠的是GlassFish2中的错误。
永远不要假设EAR / lib和EJB中的类能够访问WAR中的资源。反之亦然。
重新设计您的方法。可以将该公共库移至WAR / WEB-INF / lib。或者,将该属性文件移至EAR / lib。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句