2014-03-24 84 views
0

你能看到下面的代碼有什麼問題嗎?這是一個bat文件,我試圖在執行我的jar(jdbc oracle driver)之前設置一些依賴類。蝙蝠文件集類路徑

set CLASSPATH=lib\dbdriver.zip;%CLASSPATH% 
java -jar sql2java.jar test.properties 
pause 

我總是得到類沒有發現異常(該類是在我試圖添加在類路徑中的zip)。 我甚至試過這種由作爲管理員執行,但無濟於事

set CLASSPATH=lib\dbdriver.zip;%CLASSPATH% 
java -jar %~dp0sql2java.jar %~dp0test.properties 
pause 

類是ZIP文件(路徑\ ORACLE \ JDBC \一個OracleDriver)和我試圖與

檢索

jdbc.driver = oracle.jdbc.driver.OracleDriver

回答

4

入住這docjava(Java應用程序啓動)。

對於-jar選項它說 -

執行封裝在JAR文件的程序。第一個參數是JAR文件的名稱,而不是啓動類名稱。要使此選項起作用,JAR文件的清單必須包含Main-Class:classname形式的一行。這裏,classname用public static void main(String [] args)方法標識該類,該方法用作應用程序的起點。

當您使用此選項時,JAR文件是所有用戶類的來源,並且其他用戶類路徑設置將被忽略。

所以,你要麼需要打包在JAR(sql2java.jar)一切或不使用-jar選項與java發射命令。

+0

非常感謝。 Upvoted並檢查。 – alkis

+0

不客氣。 –

1

您可以使用java -jar來執行它,併爲jar的清單文件中的應用程序定義一個類路徑。請參閱Java教程的罐子如何在http://docs.oracle.com/javase/tutorial/deployment/jar/downman.html

設置classpath中應用它說:

例如,在一個典型的情況一個applet在JAR文件 其清單引用捆綁不同的JAR文件(或幾個不同的JAR文件)作爲用於該小程序目的的實用程序。

指定要包含在Applet或應用程序的清單文件 的Class-Path標題字段中的類。在類路徑頭採用 以下形式:

Class-Path: jar1-name jar2-name directory-name/jar3-name 

通過在manifest使用Class-Path頭,你可以避免 指定長-classpath標誌調用java來運行你的應用程序 時。

+0

非常感謝。 Upvoted。 – alkis