com.mysql.jdbc.Driver的类未找到异常不是类路径问题

时间:2010-11-30 20:42:25

标签: jdbc classpath

我已经在这方面工作了好几个星期,现在我只是在圈子里跑。我收到运行时错误:“获取连接com.mysql.jdbc.Driver时,[类]中找不到类异常”。

连接功能如下:

/**
 * @return a MySQL connection to the server as specified above 
 */
private static Connection getConnection() {
  Connection con = null;
  try {
    Class.forName("com.mysql.jdbc.Driver");
    con = DriverManager.getConnection(url, username, password);
  } catch (ClassNotFoundException e) {
    System.err.println("class not found exception in [class] while getting connection " + e.getMessage());
  } catch (SQLException e) {
    System.err.println("sql exception in [class] while getting connection " + e.getMessage());
  }
  return con;
} //end getConnection

我已经将$CLASSPATH设置为百次百次,但仍然没有运气。这就是现在的样子:

# echo $CLASSPATH
:/usr/share/java/mysql-connector-java-5.1.13-bin.jar:/usr/share/java/mysql-connector-java-3.0.17-ga-bin.jar:

这两个文件都存在,并且其中的Driver.class文件位于正确的位置。

我甚至尝试在导出jar之前将类导入我的代码,但这导致了其他问题。

我正在使用Eclipse 3.5.2,服务器正在运行Fedora 13 x86_64

请帮忙。

编辑:我正在使用以下命令在我的服务器上远程运行代码:

# java -jar program.jar

5 个答案:

答案 0 :(得分:4)

假设您在Eclipse下运行它,请尝试在Eclipse Run设置对话框中添加对jar的引用。 菜单运行 - >运行配置 - >你的项目 - > Classpath选项卡 - >用户条目 - >添加Jar ...

答案 1 :(得分:4)

在Eclipse中有一种简单的方法可以解决这个问题:

  1. 右键单击您的项目
  2. 选择“属性”
  3. 选择“部署程序集”
  4. 点击添加 - > “Java构建路径条目”
  5. 选择包含数据库连接器的用户库(例如,mysql-connector-java-5.1.20.jar)。

答案 2 :(得分:3)

如果要在Apache Tomcat上进行部署,请将 JDBC连接器jar 文件(mysql-connector-java-5.0.8-bin.jar)放在Tomcat主页的 lib文件夹中 \apache-tomcat-6.0.29\lib\

有些主题是<tomcat_home>\common\lib\,但在我的情况下,6.0上没有找到common目录。

不要忘记重启服务器。

答案 3 :(得分:1)

问题已得到修复:我必须编辑清单文件以将ClassPath:变量包含在eclipse之外我需要的文件中,因为eclipse不允许使用简单的方法。使用JAR文件时,服务器的类路径无关紧要,只有jar的类路径。

答案 4 :(得分:0)

我发现我必须转到

包属性(右键单击项目/包名称,在子菜单中找到可能位于底部的属性)。

Java构建路径 点击标签&#39;订购和导出&#39;

然后勾选我想要包含在jar导出中的库旁边的空复选框。 (在我的例子中是ojdbc6.jar)