2011-01-21 11 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