我有一个使用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
答案 0 :(得分:1)
这是一个典型的,易于解决的类路径问题:类路径中缺少cxf库(-ies)。像这样启动应用程序:
java -cp <youJar.jar>;<cxf.jar>[;<another-cxf.jar>;...] my.pkg.Application
您必须将 main 类的名称和-cp
参数的值替换为jar的路径和名称以及运行所需的所有其他库申请。
为什么它可以在eclipse中运行:在eclipse中,你已经正确设置了构建路径,但是这个构建路径不会被导出或添加到jar中。