尽pipe使用了CLASSPATH环境variables,java.lang.ClassNotFoundException也是如此
我正试图连接到Windows 7上使用Java的MySQL数据库。 尽pipe在CLASSPATH中添加了jdbcdriver jar文件的完整url,但抛出了java.lang.ClassNotFoundException:com.mysql.jdbc.Driver。 有谁能告诉我我在这里错过了什么? 它工作,如果我在项目库中添加jar文件,但我想通过CLASSPATH本身。 我的类path如下所示 – C:\ jython2.5.1 \ javalib \ mysql-connector-java-5.1.12-bin.jar
我想说清楚这不是我正在进行的实际项目。 我实际上是用Jangthon来使用Django,它需要JDBC驱动程序访问数据库。 这就是为什么我必须使用CLASSPATH来做到这一点。
CLASSPATH
环境variables只能由java.exe
命令使用,即使在没有任何-cp
, -classpath
, -jar
参数的情况下也是如此。 它被诸如Eclipse,Netbeans和IDEA之类的IDE所忽略 。
这个环境variables在现实世界中也被认为是不好的做法,因为它打破了可移植性。 即程序X将成功运行,而程序Y不会在不改变CLASSPATH
情况下运行。 对于Sun Oracle来说,只有“有用”才能防止初学者厌倦了在遵循Java教程时在-cp
或-classpath
参数中-cp
input相同的类path。 在现实世界中,只有使用-cp
/ -classpath
参数指定了整个命令时,批处理/ shell文件才是首选。
在你的情况下,你正在使用一个IDE。 类path在那里被称为“构buildpath”。 在普通的Java项目中,它代表了编译时和运行时类path。 您可以在项目的属性中configuration它。 你可以添加一个完整的文件夹,你可以添加个人/外部的JAR文件,你可以链接项目,等等。 利用它。 忘记使用CLASSPATH
环境variables。 这是Sun Oracle的一个错误。 他们认为要说服起动者,但最终只会让初学者感到困惑,因为他们错误地将该环境variables解释为类path。
也可以看看:
- 如何将JAR库添加到WAR项目而不面临java.lang.ClassNotFoundException? 类pathvs构buildpathvs / WEB-INF / lib
终于帮助我的是,即使我做了Java提供的所有类path马戏,也将mysql-connector-java-5.1.15-bin.jar复制到\ jre \ lib和\ jre \ lib \ ext(! )虽然环境是纯粹的记事本/命令行。
使用Netbeans的工作是:运行>设置项目configuration>自定义。 在库>添加库下。 增加了MySQL的JDBC驱动程序(我假设它出现在列表中,因为我将jar文件复制到jre \ lib \ ext文件夹中,并且无缝工作。
我尝试设置类path,但没有奏效。 我正在使用Netbeans 7.0
我之前也有过这个问题,但是在把/ mysql-connector-java-5.1.34-bin.jar(从这里下载)添加到apache-tomcat-8.0.15 \ lib文件夹后 ,运行我的项目,它确实工作。
注意:即使在添加jar文件之后,错误依然存在,然后重新启动Tomcat服务器并重新运行您的项目。
在“Netbeans”select属性,然后点击“库”,然后点击“添加库…”button,然后select“MySQL JDBC驱动程序”,然后点击“添加库”button,然后点击“确定“button
- 打开Netbeans IDE
- 右键单击您的项目。
- select属性。
- 在左侧单击库。
- 在“编译”选项卡下 – 单击添加jar /文件夹button。
- select已下载的“mysql-connector-java-5.1.25-bin.jar”文件(从dev.mysql.com 下载Connector / J )
- 点击OK
- 再次运行…它的工作。
如果你正在使用maven,添加依赖到pom.xml
应该解决问题。
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.36</version> </dependency>
在NetBeans IDE中,只需在属性窗口中检查Project上的属性,然后转到“library”标签,在diolog框中添加您的mysql-connector-java- * * .jar文件。
我在Netbeans有这个相同的问题。 因为我正在使用context.xml中定义的tomcat连接池,所以我需要将jdbc jar添加到项目(Properties-> Libraries)和我的Tomcat服务器中的lib /文件夹,以便在启动时看到它。