2012-05-14 71 views
0

我有一個應用程序,我使用JDBC連接。當我從Eclipse環境運行它時,沒有任何問題。 但是,當我打包成JAR,行jar創建後的jdbc異常

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); 

導致異常:

java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver 
    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 java.lang.Class.forName0(Native Method) 
    at java.lang.Class.forName(Unknown Source) 

我把行成清單文件,但它並沒有幫助:

Class-Path: sqljdbc4.jar 

任何人都可以幫忙嗎?

+0

嘗試將其分別添加到類路徑中 – Satya

+0

位於文件系統中的兩個jar位於何處,以及如何啓動該應用程序? –

+0

現在我將sqljdbc.jar文件放到應用程序的文件夾中,沒有更多的異常。 但是,在調用 'DriverManager.getConnection(url,user,password);' 後,應用程序被凍結。 我使用批處理文件運行它,其中包含: 'java -jar myapp.jar' – xMichal

回答

0

我終於解決了這個問題。 我在遠程服務器上安裝了jdbc驅動程序,並將文件打包到可執行的jar文件中(不僅如前所述)。