繁体   English   中英

Java2WSDL java.lang.ClassNotFoundException

[英]Java2WSDL java.lang.ClassNotFoundException

我尝试使用Axis Java2WSDL类生成WSDL,并获得未找到目标类的错误。

以下是我所做的步骤:

我从这里开始学习教程: http//axis.apache.org/axis/java/user-guide.html#Step_2_Create_WSDL_using_Java2WSDL

答:我添加了文件的路径

在此输入图像描述

到AXISCLASSPATH,并且我将包含文件的目录的路径添加到CLASSPATH var,所以它们看起来像

AXISCLASSPATH ='C:\\ Program Files \\ Java \\ axis'\\ axis.jar;'C:\\ Program Files \\ Java \\ axis'\\ commons-discovery-0.2.jar;'C:\\ Program Files \\ Java \\ axis'\\ commons-loggin g.jar;'C:\\ Program Files \\ Java \\ axis'\\ jaxrpc.jar;'C:\\ Program Files \\ Java \\ axis'\\ saaj.jar;'C:\\ Program Files \\ Java \\ axis' \\ log4j-1.2.17.jar;'C:\\ Program Files \\ Java \\ axis'\\ xml-apis.jar;'C:\\ Program Files \\ Java \\ axis'\\ xercesImpl.jar;'C:\\ Program Files \\的Java \\轴\\ wsdl4j.jar

CLASSPATH = C:\\ Program Files \\ Java \\ axis \\ *; C:\\ Dev \\ webworkspace \\ WSDLGENTEST \\ src \\ test \\ *

  • 我尝试了没有引号,单引号和双引号的路径,没有效果。
  • C:\\ Dev \\ webworkspace \\ WSDLGENTEST \\ src \\ test \\ * - 工作目录的路径。

B.我创建了一个示例界面I1

 package test; public interface I1 { public void f1(); } 

C.我构建了界面并看到了I1.class文件

C:\\开发\\ webworkspace \\ WSDLGENTEST的\\ src \\测试\\

DI跑了一个命令

 java org.apache.axis.wsdl.Java2WSDL -o wp.wsdl
 -l"http://localhost:8080/WSDLGENTEST/services/Greeting" 
 -n"urn:test" -p"test" "urn:test" test.I1

并得到一个错误

java.lang.ClassNotFoundException:java.net.URLClassLoader $ 1.run上的test.I1(java。)上的java.seLC.Lun(未知来源)java.security.AccessController.doPrivileged(Native Method)。位于org的java.lang.ClassLoader.loadClass(未知来源)的sun.misc.Launcher $ AppClassLoader.loadClass(未知来源)的java.lang.ClassLoader.loadClass(未知来源)中的net.URLClassLoader.findClass(未知来源)。位于org.apache.axis.utils.ClassUtils.loadClass(ClassUtils.java:160)的java.security.AccessController.doPrivileged(Native Method)的apache.axis.utils.ClassUtils $ 2.run(ClassUtils.java:187) .apache.axis.utils.ClassUtils.forName(ClassUtils.java:100)org.apache.axis.wsdl.fromJava.Emitter.setCls(Emitter.java:2079)org.apache.axis.wsdl.Java2WSDL.run (Java2WSDL.java:584)org.apache.axis.wsdl.Java2WSDL.main(Java2WSDL.java:682)

  • 我试图从它运行它

C:\\开发\\ workworkspace \\ test1的\\ BIN \\测试\\

还来自

C:\\开发\\ workworkspace \\ test1的\\ BIN \\

  • 我试着跑
 I1, test.I1, test/I1, ./test.I1, C:\\Dev\\workworkspace\\test1\\bin\\test\\test\\I1, C:\\Dev\\workworkspace\\test1\\bin\\test\\test.I1, 

params,总是得到同样的错误。 他似乎无法找到该文件。

  • 我用路径和*的所有可想到的排列更新了类路径:

CLASSPATH = C:\\ Program Files \\ Java \\ axis \\ *; C:\\ Dev \\ webworkspace \\ WSDLGENTEST \\ src; C:\\ Dev \\ webworkspace \\ WSDLGENTEST \\ src \\ *; C:\\ Dev \\ webworkspace \\ WSDLGENTEST \\ src \\ test \\; C:\\开发\\ webworkspace \\ WSDLGENTEST \\ SRC \\测试\\ *; C:\\开发\\ webworkspace \\ WSDLGENTEST \\ SRC \\测试\\ I1.class

仍然是同样的错误。

E.我编译并运行了一个示例java hello world class,只是为了检查java和path工作 - helloworld类打印了它所需要的东西,但是Java2WSDL不起作用。

C:\Dev\workworkspace\test1\bin>java -cp . test/c1 Picked up
_JAVA_OPTIONS: -Xmx512M 
ohoho

可以做些什么来克服它?

谢谢。

有同样的问题,然后我添加了我的CLASSPATH(我的类路径也针对所有的轴罐)与'。' 当前目录。

CLASSPATH =。

然后这就解决了:

“%javabin%\\ java.exe”-cp%CLASSPATH%org.apache.axis.wsdl.Java2WSDL

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM