簡體   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