我对这里发生的事情感到困惑。我不断收到以下异常:
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
然而,这个类文件在我的耳朵里,也在我的 ejb 的 list 和我耳朵的 list 文件的“Class-Path”属性上。是否还有其他地方我需要添加 jaxen jar 以让耳朵中的其他 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)
编辑#2
我正在部署到 glassfish v3.1,lib jar 位于 ear 文件的根目录,如下所示:
-foo.ear
--\META-INF
--lib1.jar
--lib2.jar
--jaxen-1.1.1.jar
编辑#3
我已经尝试部署到另一个版本的 GF,它似乎可以工作,我认为这可能是我正在使用的版本中的一个错误。我打开了一个论坛帖子 here .
编辑 #4
我在应用程序服务器的 lib 目录中有 dom4j,但在服务器上没有 jaxen。添加 jaxen 库解决了这个问题。
最佳答案
您的服务器 lib 文件夹中需要jaxen jar
关于java - ClassNotFoundException : org. ear 文件中的 jaxen.JaxenException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7072232/