【发布时间】:2019-03-01 21:25:42
【问题描述】:
我正在尝试设置 JDBC 以从我的 Linux 机器(特别是在 Chromebook 上侧载的 KDE)建立与 MySQL 数据库的连接。我看过一些帖子建议在/etc/bash.bashrc 中设置CLASSPATH 变量,有人说/etc/profile。哪个是标准?
如果我通过 bash 命令手动设置类路径:
export CLASSPATH=/home/username/JDK/mysql-connector-java-8.0.15.jar
它会编译得很好,但运行程序会产生Error: Could not find or load main class myTest。或者,如果我使用默认的类路径,编译并运行,我会得到一个 ClassNotFoundException 用于代码中使用 JDBC 内容的任何内容。
【问题讨论】:
-
您也应该将找到您的类的目录(或 JAR 文件)添加到类路径中:例如
CLASSPATH=.;/home/username/...或CLASSPATH=/home/username/my.jar;/home/username/...(如果没有设置CLASSPATH,则默认为当前目录.) -
那些刚开始的人(包括我自己,当时)经常在遇到
CLASSPATH=.;/and/so/on“技巧”之前挣扎。 -
几乎没有普通的 Java 应用程序使用
CLASSPATH环境变量,因为如果在应用程序需要的依赖项之前加载了不同版本的依赖项,它可能会导致奇怪的行为和错误。此外,使用-jar执行的应用程序(我猜这是其中的大多数)甚至会忽略该环境变量,并且只使用其清单中指定的类路径。最好忘记CLASSPATH环境变量的存在..