我试图在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来实现它。
答案 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)
答案 4 :(得分:3)
之前我也遇到过这个问题,但在 之后我把/添加了mysql-connector-java-5.1.34-bin.jar(从here下载)到apache-tomcat中-8.0.15 \ lib文件夹 ,然后运行我的项目,它确实有效。
注意:即使添加了jar文件,错误仍然存在,然后重新启动Tomcat服务器并重新运行项目。
答案 5 :(得分:2)
答案 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 /文件夹中,以便在启动时看到它。