尽管使用 CLASSPATH 环境变量,但仍出现 java.lang.ClassNotFoundException

标签 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-connector-java-5.1.12-bin.jar

我想澄清这不是我正在从事的实际项目。我实际上将 Django 与 Jython 一起使用,这需要 JDBC 驱动程序来访问数据库。这就是为什么我必须仅使用 CLASSPATH 来完成此操作的原因。

最佳答案

CLASSPATH 环境变量java.exe 命令使用,即使如此,也仅在不使用任何-cp-classpath-jar 参数时使用。它被 Eclipse、Netbeans 和 IDEA 等 IDE忽略

该环境变量在现实世界中也被认为是一种糟糕的做法,因为它破坏了可移植性。 IE。如果不更改 CLASSPATH,程序 X 将成功运行,而程序 Y 将无法运行。对于 Sun Oracle 来说,这只是“有用”的,可以防止初学者在学习 Java 教程时厌倦在 -cp-classpath 参数中一次又一次地键入相同的类路径。在现实世界中,批处理/shell 文件是首选,其中仅指定带有 -cp/-classpath 参数的整个命令。

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

另请参阅:

关于尽管使用 CLASSPATH 环境变量,但仍出现 java.lang.ClassNotFoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27658700/

相关文章:

c - 保存和恢复 shell 变量

django - 在 Windows 上正确设置 DJANGO_SETTINGS_MODULE

java - 如何解决 ClassNotFoundException?

eclipse,一个用于编译的类路径,另一个用于启动

java - 在Java的子类中使用父构造函数

java - 如何获得标识 Java 节点的 XPath 表达式?

java - 用户给出了堆栈中的多个选项 1,2,3,我们需要执行指定的操作

java - Ubuntu中如何配置环境变量?

java - JAR 资源上一级

java - Eclipse Google 插件不启动 Web 应用程序的服务器