NoClassDefFoundError使用jaxrpc执行jar

时间:2014-06-01 06:58:21

标签: java eclipse classpath

我使用jaxrpc开发了一个Webservice客户端应用程序。在eclipse中,应用程序运行正常,但是在导出jar文件后,我得到以下运行时错误

D:\>java -jar Myclient2.jar
Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/rpc/Service
Exception
        at Mynet.MyScheduler.<init>(MyScheduler.java:47)
        at Mynet.MyScheduler.<init>(MyScheduler.java:36)
        at Mynet.MyNetMain.main(MyNetMain.java:11)
Caused by: java.lang.ClassNotFoundException: javax.xml.rpc.ServiceException
        at java.net.URLClassLoader$1.run(Unknown Source)
        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)
        ... 3 more

我试图设置CLASSPATH变量但没有更改。

set CLASSPATH=%CLASSPATH%;D:\eclipse\plugins\javax.xml.rpc_1.1.0.v201209140446\lib\jaxrpc.jar
set CLASSPATH=%CLASSPATH%;D:\eclipse\plugins\org.apache.axis_1.4.0.v201005080400\lib\axis.jar

echo %CLASSPATH%
java -jar Myclient2.jar

我对java很新,所以绝对是一个新手问题 KR

2 个答案:

答案 0 :(得分:0)

您应该考虑将Web服务迁移到JAX-WS。 JAX-RPC是一种较旧的Java Web服务技术,不太可能继续保持前进。

但是您将体验到的最大好处是,自Java 6以来,所有JAX-WS运行时和工具都已成为Java JDK的一部分。这意味着您可以构建没有运行时库依赖性的Web服务。

答案 1 :(得分:0)

任何时候你得到&#34; java.lang.NoClassDefFoundError&#34 ;;你很可能错过了一个jar文件。 你应该搜索包含&#34; javax / xml / rpc&#34;的jar文件。然后将其添加到您的类路径或作为您的maven项目的依赖项。 在这里你应该找到它们:

http://search.maven.org/

http://mvnrepository.com/