我使用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
答案 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项目的依赖项。 在这里你应该找到它们: