【问题标题】:class not found error while using jtds in java在java中使用jtds时找不到类错误
【发布时间】:2011-01-21 08:02:55
【问题描述】:

我正在尝试使用jtds jdbc driver 连接到 sql 服务器。以下是代码

    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。所以这似乎不是正确的方法。如何做到这一点?

我已将 jtds-1.2.5.jar 文件复制到 classpath 目录中 在 ubuntu 桌面的 /etc/environment 文件中指定

编辑:它打印的完整异常如下

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)

【问题讨论】:

  • 找不到哪个类?
  • 找不到什么类?请打印出完整的例外情况。
  • 找不到 net.sourceforge.jtds.jdbc.Driver class 。为问题添加了完整的例外

标签: java sql-server jdbc jtds


【解决方案1】:

我已将 jtds-1.2.5.jar 文件复制到 ubuntu 桌面上 /etc/environment 文件中指定的类路径目录中

为什么?在您指定在当前目录中查找该文件的命令行上。

任何环境变量(在/etc/environment 或其他任何地方设置)仅在您在命令行上手动指定类路径时使用(执行 jar 文件时它们也会被忽略!)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多