2011-01-21 32 views
2

我正在嘗試使用jtds jdbc driver連接到sql服務器。以下是代碼在java中使用jtds時未發現類錯誤

try { 
     Class.forName("net.sourceforge.jtds.jdbc.Driver"); 
     this.conn = DriverManager.getConnection(
            connectString, username, password); 
     System.out.println("connected");    
    } 
    catch (Exception e) { 
     e.printStackTrace(); 
    } 

包編譯,但是當我嘗試使用下面的命令在終端

java -cp .:jtds-1.2.5.jar org.kodeplay.migration.TestConnection 

運行它,它仍然拋出一個ClassNotFoundException。所以這似乎不是正確的方法。這個怎麼做 ?

我抄的路徑目錄是一個Ubuntu桌面

編輯上的/ etc/environment文件中指定 的JTDS-1.2.5.jar文件:全面例外,它打印是如下

java.lang.ClassNotFoundException: net.sourceforge.jtds.jdbc.Driver 
at java.net.URLClassLoader$1.run(URLClassLoader.java:217) 
at java.security.AccessController.doPrivileged(Native Method) 
at java.net.URLClassLoader.findClass(URLClassLoader.java:205) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:321) 
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:266) 
at java.lang.Class.forName0(Native Method) 
at java.lang.Class.forName(Class.java:186) 
at org.kodeplay.migration.SqlDb.connect(SqlDb.java:21) 
at org.kodeplay.migration.TestConnection.main(TestConnection.java:13) 
+0

哪一類它找不到? –

+0

什麼課程沒有找到?請打印出完整的例外。 –

+0

它沒有找到'net.sourceforge.jtds.jdbc.Driver'類。在問題 – naiquevin

回答

2

我抄在這是在/ etc/environment文件中指定的Ubuntu桌面上的路徑目錄的JTDS-1.2.5.jar文件

爲什麼?在您指定的命令行上查找當前目錄中的該文件。

任何環境變量(在/etc/environment組或其他地方)僅用於當你手動指定命令行的classpath(當你執行一個jar文件還忽略它們!)。

+0

中增加了完整的例外,現在就開始工作..謝謝 – naiquevin