我正在使用OpenSAML API开发身份提供程序。
我已经创建了一个测试OpenSAML API的java应用程序,这个程序很成功。
现在的问题是我正在尝试使用glassfish在Servlet中使用那个java应用程序,而我现在正在失去理智。
听我说: 在开始使用OpenSAML之前,你必须调用它的bootstrap来启动它的组件,其中一个组件是 org.apache.xml.security.Init
所以我将xmlsec.jar添加到库中,但每次运行WebApplication时都会一直出现异常:
field_name
令人困惑的部分是,如果我从libs中删除xmlsec.jar,它仍然知道
"java.lang.NoClassDefFoundError: Could not initialize class org.apache.xml.security.Init"
但是当我删除它并尝试重写它时:
import "org.apache.xml.security.Init"
现在它失败了,因为现在org.apache中没有xml.security。
任何想法的人?
PS:我正在使用这些: - NetBeans IDE - Glassfish 4.1.1 - Java EE 7 - JDK 1.8
glassfish输出:
import "org.apache.xml.security.Init"
答案 0 :(得分:1)
这可能是由于JVM或您的Container主机提供的类与WAR文件中的类之间发生冲突。如果该类在两个地方都重复,那么它可以对你的创业公司造成各种各样的破坏。
答案 1 :(得分:0)
事实证明你应该放弃glassfish并去JBoss。 这解决了我的问题。
感谢。