我刚从另一个小组手中接过了一个项目。 EJB会话bean / web服务。它在JavaCAPS 6上没有任何问题地部署。
但是,在Oralce Glassfish V3(3.0.1 Build 22)上,当我部署jar文件(Applicaton / EJB Module)时,它一直抱怨某些外部库(包含在jar中),无法找到。
注释处理错误:java.lang.NoClassDefFoundError:org / apache / commons / vfs / FileSystemException |#]
Apache VFS jar在jar中,但找不到它。
但是,如果我将jar及其依赖项移动到$ Glassfish home / domains / domain1 / lib
一切都很好。
我们在这里做错了什么?
由于
答案 0 :(得分:2)
在v2。*支持ejb模块的根级库jars但由于JAVA EE 6安全限制,glasssfish V3.1不支持在ejb-jar模块(* .jar文件)中部署jar库。因此,您可以使用compatibility = v2属性来部署
例如;
asadmin {server_parameters} deploy --property compatibility=v2 {package}.jar
解决方法注意:在Glassfish V3.0中,不支持兼容性属性。必须升级V3.1或将库放到{GlassfishHome} / lib目录