java.lang.ClassNotFoundException尽管使用了CLASSPATH环境变量

时间:2010-04-07 10:10:15

标签: java environment-variables classpath classnotfoundexception

我试图在windows7上使用java连接到mysql数据库。尽管在CLASSPATH中添加了jdbcdriver jar文件的完整url,但java.lang.ClassNotFoundException:com.mysql.jdbc.Driver 被扔了。谁能告诉我我在这里失踪了什么?如果我在项目库中添加jar文件但是我想通过CLASSPATH本身来实现它。 我的类路径看起来像这样 - C:\ jython2.5.1 \ javalib \ MySQL的连接器的Java-5.1.12-bin.jar

我想说清楚这不是我正在进行的实际项目。我实际上正在使用Django和Jython,它需要JDBC驱动程序来访问数据库。这就是为什么我只能使用CLASSPATH来实现它。

9 个答案:

答案 0 :(得分:15)

CLASSPATH环境变量 java.exe命令,即使这样,只有在没有 -cp时使用 },-classpath-jar个参数。 Eclipse,Netbeans和IDEA等IDE 忽略

环境变量在现实世界中也被认为是一种糟糕的做法,因为它打破了可移植性。即程序X将成功运行,而程序Y将无法运行而不更改CLASSPATH。对于 Sun Oracle而言,它只是“有用”,以防止启动者厌倦了在遵循Java教程时在-cp-classpath参数中反复键入相同的类路径。在现实世界中,批处理/ shell文件是首选,只指定了带有-cp / -classpath参数的整个命令。

在您的情况下,您正在使用IDE。类路径称为“构建路径”。在普通的Java项目中,它表示两者编译时和运行时类路径。您可以在项目的属性中对其进行配置。您可以添加完整的文件夹,可以添加单个/外部JAR文件,也可以链接项目等。利用它。忘记使用CLASSPATH环境变量。这是 Sun Oracle的错误。他们想要说服初学者,但最终只会让初学者感到困惑,因为他们错误地将环境变量解释为 类路径。

另见:

答案 1 :(得分:13)

最终帮助我的是将mysql-connector-java-5.1.15-bin.jar复制到\ jre \ lib并复制到\ jre \ lib \ ext两者(!)即使我做了所有的类路径马戏团Java提供:)虽然环境是纯粹的记事本/命令行。

答案 2 :(得分:9)

使用Netbeans对我有用的是: 运行>设置项目配置>定制。 在图书馆>添加库。添加了MySQL JDBC驱动程序(我假设它出现在列表中,因为我将jar文件复制到jre \ lib \ ext文件夹中。 它无缝地工作。

我尝试设置classpath但是没有用。我正在使用Netbeans 7.0

答案 3 :(得分:3)

只需右键单击“Netbeans”中的项目选择属性然后单击“库”然后单击“添加库...”按钮然后选择“MySQL JDBC Driver”并单击“添加库”按钮然后在“确定”按钮

答案 4 :(得分:3)

之前我也遇到过这个问题,但在 之后我把/添加了mysql-connector-java-5.1.34-bin.jar(从here下载)到apache-tomcat中-8.0.15 \ lib文件夹 ,然后运行我的项目,它确实有效。

注意:即使添加了jar文件,错误仍然存​​在,然后重新启动Tomcat服务器并重新运行项目。

答案 5 :(得分:2)

  1. 打开Netbeans IDE
  2. 右键单击您的项目。
  3. 选择属性。
  4. 在左侧单击“库”。
  5. 在“编译”选项卡下 - 单击“添加Jar /文件夹”按钮。
  6. 选择已下载的“mysql-connector-java-5.1.25-bin.jar”文件(来自dev.mysql.com的Download Connector/J
  7. 点击确定
  8. 再跑一次......它的工作。

答案 6 :(得分:2)

如果您正在使用maven,请将依赖项添加到pom.xml以解决问题。

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.36</version>
</dependency>

答案 7 :(得分:1)

在Netbeans IDE中,只需检查您正在处理的Project的属性,在属性窗口中转到'library'标签,在diolog框中添加您的mysql-connector-java- * *。 jar文件。

答案 8 :(得分:1)

我在Netbeans中遇到了同样的问题。因为我使用了context.xml中定义的tomcat连接池,所以我需要将jdbc jar添加到项目(Properties-&gt; Libraries)和我的Tomcat服务器中的lib /文件夹中,以便在启动时看到它。