我尝试使用 Axis Java2WSDL 类制作 WSDL,并收到我的目标类未找到的错误。
以下是我执行的步骤:
我从这里的教程开始:http ://axis.apache.org/axis/java/user-guide.html#Step_2:_Create_WSDL_using_Java2WSDL
A. 我添加了文件的路径
到 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\axis'\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:\Dev\webworkspace\WSDLGENTEST\src\test\
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: test.I1 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) at 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:\Dev\workworkspace\test1\bin\test\
也来自
C:\Dev\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,
参数,总是得到同样的错误。他似乎无法找到该文件。
- 我用路径和 * 的所有可能排列更新了类路径:
CLASSPATH=C:\Program Files\Java\axis\*;C:\Dev\webworkspace\WSDLGENTEST\src;C:\Dev\webworkspace\WSDLGENTEST\src\*;C:\Dev\webworkspace\WSDLGENTEST\src\test \;C:\Dev\webworkspace\WSDLGENTEST\src\test\*;C:\Dev\webworkspace\WSDLGENTEST\src\test\I1.class
仍然是同样的错误。
E. 我编译并运行了一个示例 java hello world 类,只是为了检查 java 和路径是否正常工作 - helloworld 类打印了它需要的内容,但 Java2WSDL 不起作用。
C:\Dev\workworkspace\test1\bin>java -cp . test/c1 Picked up
_JAVA_OPTIONS: -Xmx512M
ohoho
可以做些什么来克服它?
谢谢。