Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 正确配置的JDBC类路径变量是什么样子的?_Java_Mysql_Linux_Jdbc - Fatal编程技术网

Java 正确配置的JDBC类路径变量是什么样子的?

Java 正确配置的JDBC类路径变量是什么样子的?,java,mysql,linux,jdbc,Java,Mysql,Linux,Jdbc,我正在尝试设置JDBC,以便从我的Linux机器(特别是加载在Chromebook上的KDE端)建立到MySQL数据库的连接。我看到一些帖子建议在/etc/bash.bashrc中设置CLASSPATH变量,有人说是/etc/profile。以下哪一项是标准 如果我通过bash命令手动设置类路径: export CLASSPATH=/home/username/JDK/mysql-connector-java-8.0.15.jar 它可以正常编译,但运行该程序会产生错误:无法找到或加载主类my

我正在尝试设置JDBC,以便从我的Linux机器(特别是加载在Chromebook上的KDE端)建立到MySQL数据库的连接。我看到一些帖子建议在/etc/bash.bashrc中设置CLASSPATH变量,有人说是/etc/profile。以下哪一项是标准

如果我通过bash命令手动设置类路径:

export CLASSPATH=/home/username/JDK/mysql-connector-java-8.0.15.jar

它可以正常编译,但运行该程序会产生错误:无法找到或加载主类myTest。或者,如果使用默认的类路径、编译和运行,则代码中使用JDBC内容的任何内容都会得到ClassNotFoundException。

类路径应该包括JVM运行应用程序所需的所有类:所有依赖项和应用程序类

您可以为每个java调用传递类路径,如

java -jar <jar file>


但是您也可以使用构建工具来构建带有依赖项和配置类路径的胖jar,或者使用主jar构建zip,依赖项是一个单独的文件夹,并且在jar中设置了预配置的类路径。

请注意:当使用-jar时,我相信不使用-cp,而是使用清单中的类路径。根据经验和:当您使用-jar时,指定的jar文件是所有用户类的源文件,其他类路径设置将被忽略。@CarlosHeuberger,谢谢。更正了我的回答。你应该将查找类的目录或JAR文件也添加到类路径中:例如,CLASSPATH=/home/username/。。。或者CLASSPATH=/home/username/my.jar/home/username/。。。如果没有设置类路径,默认为当前目录/and/so/on-trick.可能与、、等重复。几乎没有一个普通的Java应用程序使用CLASSPATH环境变量,因为如果在应用程序需要的依赖项之前加载不同版本的依赖项,它可能会导致奇怪的行为和错误。此外,使用-jar执行的应用程序,我想大多数应用程序甚至会忽略该环境变量,只使用其清单中指定的类路径。最好忘记CLASSPATH环境变量的存在。。
java -cp <your full classpath goes here> <your main class>