NoClassDefFoundError:无法初始化类

时间:2016-09-04 06:39:01

标签: java servlets glassfish noclassdeffounderror opensaml

我正在使用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"

2 个答案:

答案 0 :(得分:1)

这可能是由于JVM或您的Container主机提供的类与WAR文件中的类之间发生冲突。如果该类在两个地方都重复,那么它可以对你的创业公司造成各种各样的破坏。

答案 1 :(得分:0)

事实证明你应该放弃glassfish并去JBoss。 这解决了我的问题。

感谢。