我安装了Jetty7,并按照以下指南为IdP Shibboleth正确配置了它:https://wiki.shibboleth.net/confluence/display/SHIB2/IdPJetty7Prepare
但是当我尝试启动Jetty时,我得到了这个错误:
NoClassDefFoundError: org/w3c/dom/ElementTraversal
要解决此问题,我需要安装ElementTraversal依赖项,并将其包含在我的类路径中。
但是我如何才能做到这一点呢?我需要下载这个类 [ElementTraversal.class]还是一个.jar文件?我可以把它放在哪里呢?在JETTY_HOME
里?是否需要导出CLASSPATH
有人能帮我吗?
非常感谢!
发布于 2013-07-08 03:28:10
看起来ElementTraversal是xml-apis-2.10.0.jar
的一部分,它应该随您的Shibboleth安装一起提供。
因此,如果您遵循的是these instructions,那么您也应该遵循以下步骤:
通过创建目录JETTY/lib/ endorsed/来认可Xerces和Xalan,并将IdP源代码认可/目录中包含的.jar文件复制到新创建的目录中。
只要适当地复制了所有的jar文件,就应该没问题。我的猜测是您遗漏了这一步-或者可能只复制了名称中包含Xalan或Xerces的jar文件,而遗漏了其他两个。
发布于 2013-09-25 02:37:58
在我的例子中,这个问题是通过将xml-apis版本从1.3.04更改为1.4.01来修复的。
顺便说一句,2.10.0版在Maven Central中不存在(我很好奇Jon Skeet是在哪里找到它的)。
发布于 2019-02-17 16:07:31
将以下内容添加到您的文件中,以解析依赖关系:
<dependency>
<groupId>xml-apis</groupId>
<artifactId>xml-apis</artifactId>
<version>1.4.01</version>
</dependency>
https://stackoverflow.com/questions/17515333
复制相似问题