程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA編程入門知識 >> Java環境配置的Classpath使用故障實例

Java環境配置的Classpath使用故障實例

編輯:JAVA編程入門知識

類為 run.class

包:package localJava.client.dynamic

類內要求:

import org.apache.wsif.WSIFMessage;

<!-- frame contents --> <!-- /frame contents -->

import org.apache.wsif.WSIFException;

import org.apache.wsif.WSIFOperation;

import org.apache.wsif.WSIFPort;

import org.apache.wsif.WSIFService;

import org.apache.wsif.WSIFServiceFactory;

classpath設置的相對路徑:libwsif.jar;……;(假如當時設成絕對路徑,也會避免很多不應該的麻煩,所以盡量使用絕對路徑,這裡為了幫助自己記憶問題,所以使用相對路徑)lib在c:wsif裡

要求導入的類都在wsif.jar裡,另外在C:wsif-2.0uildclassesorgapachewsif裡有解壓的class文件

run.class類的實際位置:c:wsifuildsampleslocaljavaclientdynamic

在目錄:c:wsifuildsamples下運行java localjava.client.dynamic.Run samples/localjava/AddressBook.wsdl

報錯:Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/wsif/WSIFException

這是因為classpath使用相對路徑,導致java時無法找到jar文件,所以有三種方法解決:

1、設置classpath為絕對路徑

2、在lib(classpath設置的目錄)所在的目錄下(C:WSIF )使用下列命令-CP參數運行:java -cp %CLASSPATH%;buildsamples; localjava.client.dynamic.Run samples/localjava/AddressBook.wsdl 其中的buildsamples指定了RUN類所在的路徑。

(其中路徑也可以采用絕對路徑寫法,相對路徑寫法中,“.”代表當前路徑,“..”代表父節點路徑,比如上面的路徑也可以寫成“.uildsamples;”或者“..wsifuildsamples”)。因為包指定到localjava,所以路徑應該設置到包的上層目錄samples,這樣就能在該目錄下沿包路徑找到run.class類了。

3、在c:wsifuildsamples路徑下運行java -cp [路徑] localjava.client.dynamic.Run samples/localjava/AddressBook.wsdl 其中路徑包括了所有需要的類路徑。

這個方法比較麻煩。

總是配置系統變量也比較輕易混亂,所以可以采用編輯一個批處理文件的方法,裡面的java 命令指定了所有類路徑。
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved