我试图连接到使用windows7的上java的mysql数据库。 尽管加入CLASSPATH中,抛出java.lang.ClassNotFoundException jdbcdriver jar文件的完整URL的:com.mysql.jdbc.Driver被抛出。 谁能告诉我什么,我在这里失踪? 它的工作原理,如果我加入项目库中的jar文件,但我希望通过自己CLASSPATH做到这一点。 我的类路径看起来像这 - C:\ jython2.5.1 \ javalib \ mysql的连接器的Java-5.1.12-bin.jar
我想讲清楚,这不是实际的项目我的工作。 其实我使用Django使用Jython,这需要JDBC驱动程序访问数据库。 这就是为什么我只有使用CLASSPATH这样做的原因。
的CLASSPATH
环境变量仅用于由所述java.exe
命令甚至那么只有没有任何的使用时-cp
, -classpath
, -jar
参数。 它是由像Eclipse,NetBeans和IDEA的IDE 忽略 。
这个环境变量在现实世界中也被认为是一个贫穷的做法,因为它打破了便携性。 即程序X会成功运行,而程序Ÿ不会不改变运行CLASSPATH
。 这只是“有用”的孙甲骨文防止起动器厌倦在一次又一次的输入相同的类路径的-cp
或-classpath
以下Java教程当争吵。 在现实世界中,批处理/ shell文件是优选的,其中只是整个命令-cp
/ -classpath
指定的参数。
在你的情况,你正在使用的IDE。 类路径是有叫“构建路径”。 在普通的Java项目,它代表了两个编译时和运行时类路径。 您可以在项目的属性进行配置。 您可以添加整个文件夹,您可以添加个人/外部JAR文件,您可以链接项目,等等。 利用它。 忘记使用CLASSPATH
环境变量。 这是由Sun甲骨文是错误的。 他们认为说服首发,但最终是只有更多的迷惑首发,因为他们错误地解释这个环境变量的类路径。
也可以看看:
- 如何添加JAR库WAR项目,而不抛出java.lang.ClassNotFoundException面对? Classpath的VS构建路径VS / WEB-INF / lib目录
什么终于帮了我是复制使用mysql-connector-java的5.1.15-bin.jar到\ JRE \ lib和以\ JRE \ lib中\分机这两种即使我做了所有的classpathing马戏团Java提供(!): )环境是纯的记事本/命令行虽然。
什么使用NetBeans和我一起工作:运行>设置项目配置>自定义。 在库>添加库。 新增MySQL JDBC驱动程序(我假设它出现在列表中,因为我复制的jar文件到JRE \ LIB \ ext文件夹。并且可以完美的工作。
我试着设置类路径,但没有奏效。 我使用NetBeans 7.0
根本就在你的项目中右键单击“Netbeans的”选择属性,然后点击“库”,然后单击“添加库...”按钮,然后选择“MySQL JDBC驱动程序”,然后单击“添加库”按钮,然后点击“OK “按钮
之前,我也有这个问题,但我把后/添加使用mysql-connector-java的5.1.34-bin.jar(从下载它这里 )到Apache,Tomcat的8.0.15 \ lib文件夹 ,然后跑到我的项目,它确实工作。
注意:即使将JAR文件中的错误仍然存在后,再重新启动Tomcat服务器并重新运行再次突出。
如果您正在使用Maven,添加依赖关系pom.xml
应该解决的问题。
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.36</version>
</dependency>
在NetBeans IDE中只是检查项目对你工作的性质,在属性窗口中进入“库”标签,在diolog箱只需添加你的MySQL连接器,Java的* .jar文件。
我在Netbeans的有同样的问题。 因为我是使用在context.xml中定义的tomcat的连接池,我需要我的Tomcat服务器中的JDBC JAR同时添加到项目中(属性 - >库),并到lib /文件夹,以便它可以在启动时可以看到。
文章来源: java.lang.ClassNotFoundException in spite of using CLASSPATH environment variable