Java classnotfound错误

时间:2010-11-08 06:22:55

标签: java web-services noclassdeffounderror

我有一个使用cxf创建的webservice客户端。当我从eclipse运行时,我没有得到任何错误。但是当我从文件中创建一个jar并从cmd提示符运行它时,我得到NoclassDef异常或ClassNot发现异常。我已经设置了类路径,java home正确。

1。例外

Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException

2。例外

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/cxf/databinding/DataBinding
Caused by: java.lang.ClassNotFoundException: org.apache.cxf.databinding.DataBinding
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClassInternal(Unknown Source)

Web服务位于C#wcf中,客户端是在没有JAXBinding元素的情况下创建的。 Anyhelp将不胜感激。

谢谢, Priya.R

1 个答案:

答案 0 :(得分:1)

这是一个典型的,易于解决的类路径问题:类路径中缺少cxf库(-ies)。像这样启动应用程序:

java -cp <youJar.jar>;<cxf.jar>[;<another-cxf.jar>;...] my.pkg.Application

您必须将 main 类的名称和-cp参数的值替换为jar的路径和名称以及运行所需的所有其他库申请。

为什么它可以在eclipse中运行:在eclipse中,你已经正确设置了构建路径,但是这个构建路径不会被导出或添加到jar中。