1

我刚接到另一个小组的一个项目。EJB 会话 bean/Web 服务。它在 JavaCAPS 6 上部署没有任何问题。

但是,在 Oralce Glassfish V3(3.0.1 Build 22)上,当我部署 jar 文件(Applicaton / EJB 模块)时,它一直抱怨某些外部库(包含在 jar 中)找不到。

注释处理出错:java.lang.NoClassDefFoundError: org/apache/commons/vfs/FileSystemException|#]

Apache VFS jar 在 jar 中,但找不到。

但是,如果我将 jar 及其依赖项移动到 $Glassfish home/domains/domain1/lib

一切都很好。

我们在这里做错了什么?

谢谢

4

1 回答 1

2

在 v2.* 中支持 ejb 模块的根级库 jar,但由于 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 目录

于 2010-12-03T08:23:35.257 回答