我尝试使用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 文件\的Java \轴 '\公共发现-0.2.jar;' C:\ PROGRAM Files \ Java \ axis'\ commons-loggin g.jar;'C:\ Program 文件\的Java \轴 '\没有jaxrpc.jar;' C:\ PROGRAM 文件\的Java \轴 '\没有saaj.jar;' C:\ PROGRAM 文件\的Java \轴 '\ log4j的-1.2.17.jar;' C:\ PROGRAM 文件\的Java \轴 '\ XML-apis.jar;' C:\ PROGRAM 文件\的Java \轴 '\ xercesImpl.jar;' C:\ PROGRAM 文件\爪哇\轴线\ wsdl4j.jar
CLASSPATH = C:\ Program Files \ Java \ axis \ *; C:\ Dev \ webworkspace \ WSDLGENTEST \ src \ test \ *
B中。我创建了一个示例接口I1
package test; public interface I1 { public void f1(); }
℃。我构建了界面并在
中看到了I1.class文件C:\开发\ webworkspace \ WSDLGENTEST \ SRC \测试\
D.我跑了一个命令
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:test.I1 在java.net.URLClassLoader $ 1.run(未知来源) 在java.net.URLClassLoader $ 1.run(未知来源) 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) 在org.apache.axis.utils.ClassUtils $ 2.run(ClassUtils.java:187) at java.security.AccessController.doPrivileged(Native Method) at org.apache.axis.utils.ClassUtils.loadClass(ClassUtils.java:160) at org.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 \
params,总是得到同样的错误。他似乎无法找到该文件。I1, test.I1, test/I1, ./test.I1, C:\Dev\workworkspace\test1\bin\test\test\I1, C:\Dev\workworkspace\test1\bin\test\test.I1,
CLASSPATH = C:\ Program Files \ Java \ axis \ *; C:\ Dev \ webworkspace \ WSDLGENTEST \ src; C:\ Dev \ webworkspace \ WSDLGENTEST \ src \ *; C:\ Dev \ webworkspace \ WSDLGENTEST \ SRC \测试\; C:\开发\ webworkspace \ WSDLGENTEST \ SRC \测试\ *; C:\开发\ webworkspace \ WSDLGENTEST \ SRC \测试\ I1.class
仍然是同样的错误。
电子。我编译并运行了一个示例java hello world class,只是为了检查java和path工作 - helloworld类打印了它所需要的东西,但是Java2WSDL不起作用。
C:\Dev\workworkspace\test1\bin>java -cp . test/c1 Picked up
_JAVA_OPTIONS: -Xmx512M
ohoho
可以做些什么来克服它?
感谢。
答案 0 :(得分:1)
如果出现同样的问题,我会用'。'添加我的CLASSPATH(我的类路径也将目标锁定在所有轴上)。当前目录。
CLASSPATH =
然后就解决了这个问题:
“%javabin%\ java.exe”-cp%CLASSPATH%org.apache.axis.wsdl.Java2WSDL