ClassNotFoundException:ear文件中的org.jaxen.JaxenException

jav*_*y79 5 java classpath java-ee

我对这里发生的事情感到困惑.我一直得到以下异常:

Caused by: java.lang.ClassNotFoundException: org.jaxen.JaxenException
        at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
        ... 51 more
Run Code Online (Sandbox Code Playgroud)

然而,这个类文件在我耳边,也在我的ejb清单和我耳朵的清单文件的'Class-Path'属性中.有没有其他地方我需要添加jaxen jar让它被耳朵里的其他jar看到?耳朵里的所有罐子都有相同的类路径吗?

编辑#1

这也有:

Caused by: java.lang.NoClassDefFoundError: org/jaxen/JaxenException
        at org.dom4j.DocumentFactory.createXPath(DocumentFactory.java:230)
        at org.dom4j.tree.AbstractNode.createXPath(AbstractNode.java:207)
        at org.dom4j.tree.AbstractNode.selectNodes(AbstractNode.java:164)
Run Code Online (Sandbox Code Playgroud)

编辑#2

我正在部署到glassfish v3.1并且lib jar位于ear文件的根目录,如下所示:

-foo.ear
--\META-INF
--lib1.jar
--lib2.jar
--jaxen-1.1.1.jar
Run Code Online (Sandbox Code Playgroud)

编辑#3

我已经尝试部署到另一个版本的GF,它似乎工作,我认为它可能是我正在使用的版本中的一个错误.我在这里开了一个论坛帖子.

编辑#4

我在app服务器lib目录中有dom4j但在服务器上没有jaxen.添加jaxen lib修复此问题.

Sha*_*awn 11

你需要服务器 lib文件夹中的jaxen jar

http://jaxen.codehaus.org/releases.html