3

我尝试使用 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

可以做些什么来克服它?

谢谢。

4

1 回答 1

1

有同样的问题,然后我将我的 CLASSPATH(我的类路径也针对所有轴 jar)附加了“。” 当前目录。

类路径=。

然后这解决了:

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

于 2015-10-12T13:27:41.867 回答