繁体   English   中英

NoClassDefFoundError: org/w3c/dom/ElementTraversal

[英]NoClassDefFoundError: org/w3c/dom/ElementTraversal

我安装了 Jetty 7 并按照本指南为IdP Shibboleth 进行了正确配置: https ://wiki.shibboleth.net/confluence/display/SHIB2/IdPJetty7Prepare

但是当我尝试启动 Jetty 时,我收到此错误:

NoClassDefFoundError: org/w3c/dom/ElementTraversal

要解决此问题,我需要安装ElementTraversal依赖项并将其包含在我的类路径中
但我怎样才能做到这一点? 我需要下载这个类[ElementTraversal.class]还是一个.jar文件? 我可以把它放在哪里? JETTY_HOME 我需要导出CLASSPATH吗?

有人能帮我吗?
非常感谢!

看起来ElementTraversal是xml-apis-2.10.0.jar一部分,它应该与您的Shibboleth安装一起提供。

因此,如果您遵循这些说明,您也应该遵循以下步骤:

通过创建目录JETTY_HOME / lib / endorsed /来支持Xerces和Xalan,并将IdP源endorsed /目录中包含的.jar文件复制到新创建的目录中。

只要你适当地复制了所有jar文件,它应该没问题。 我的猜测是你错过了那一步 - 或者只是在名字中复制了带有Xalan或Xerces的jar文件,而错过了其他两个。

在我的情况下,通过将xml-apis版本从1.3.04更改为1.4.01来解决问题。

顺便说一句,版本2.10.0在Maven Central中不存在(我很好奇Jon Skeet在哪里找到它)。

在您的文件中添加它,以解决依赖关系:

 <dependency>
      <groupId>xml-apis</groupId>
      <artifactId>xml-apis</artifactId>
      <version>1.4.01</version>
 </dependency>

就我而言,它是gradle-spoon-plugin 所有解决方案都没有帮助。 我们能做的就是将它从项目中完全删除。

参见: https : //github.com/jaredsburrows/gradle-spoon-plugin/issues/96

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM