java.lang.NoClassDefFoundError java中的异常

时间:2014-07-08 05:44:21

标签: java xml jar jaxb xsd

我使用JAXB 1.0(JDK 1.5和Java Web Service Developer Pack 1.5)从xsd生成java类。它在当地运作良好。当我在服务器中尝试时,我得到以下异常。

ErrMsg=[Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/xml/bind/unmarshaller/InterningXMLReader at 
com.impl.runtime.UnmarshallerImpl.unmarshal(Unknown Source) 
at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:157)
 at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:162) 
 at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:171) 
 at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:189) 

 Caused by: java.lang.ClassNotFoundException: com.sun.xml.bind.unmarshaller.InterningXMLReader 
 at java.net.URLClassLoader$1.run(URLClassLoader.java:366) at java.net.URLClassLoader$1.run(URLClassLoader.java:355) 
 at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:354) 
 at java.lang.ClassLoader.loadClass(ClassLoader.java:423) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) 
 at java.lang.ClassLoader.loadClass(ClassLoader.java:356) ... 9 more].

任何帮助?

2 个答案:

答案 0 :(得分:2)

您需要将jaxb-impl.jar添加到Java Build Path中。 如果你正在使用Eclipse那么 右键单击项目,转到Properties-> Java Build Path,单击Add External JARs ...按钮,最后选择jaxb-ri-20110512 / lib / jaxb-impl.jar。除了jaxb-impl.jar之外,这应该自动添加jaxb-api.jar,activation.jar,jsr173_1.0_api.jar和jaxb1-impl.jar。现在不应再有任何问题了。

答案 1 :(得分:0)

您错过了类路径中的jaxb-impl.jar。下载并添加它。