【问题标题】:Class.forName(“com.mysql.jdbc.Driver”) does not work on Raspberry PiClass.forName(“com.mysql.jdbc.Driver”) 在树莓派上不起作用
【发布时间】:2014-03-27 13:23:57
【问题描述】:

这段代码:

        Class.forName("com.mysql.jdbc.Driver"); 

导致一个

ClassNotFoundException

在树莓派上。虽然我的 Classpath 是正确的

pi@raspberrypi ~ $ echo $CLASSPATH
/usr/share/java/mysql-connector-java.jar

在 Windows 上它运行良好! 知道我做错了什么吗?

我也尝试使用

启动我的应用程序

java -cp /usr/share/java/mysql-connector-java.jar -jar myApp.jar

谢谢 弗洛里安

【问题讨论】:

    标签: java mysql jdbc classnotfoundexception


    【解决方案1】:

    您正在使用-jar,这使得-cp 部分无关紧要。来自documentation

    使用 -jar 选项时,指定的 JAR 文件是所有用户类的来源,其他类路径设置将被忽略。

    add ClassPath entries in your jar manifest,或将 MySQL 连接器 jar 文件添加到扩展目录(例如 jre/lib/ext)。不过,使用清单是最干净的方法。

    【讨论】:

      【解决方案2】:

      只需将MySql-Connector.jar 复制到apache tomcat's lib folder 中,然后将remove the jar 复制到project's lib folder 中,然后运行项目。

      你在 lib 中放了什么,jre/lib or jre/lib/ext? 是 jar mysql-connector-java-5.1.5-bin.jar 还是其他东西(比如目录)?

      顺便说一句,我不会把它放在lib中,jre/lib or jre/lib/ext,还有其他方法可以将jar添加到类路径中。您可以通过显式添加 CLASSPATH 环境变量来做到这一点。或者你可以使用java的-cp选项。

      【讨论】:

      • 错误这与原始问题究竟是如何相关的? OP 没有提到 Tomcat,也没有在 JRE 安装路径中放一些东西?
      猜你喜欢
      • 2015-11-02
      • 1970-01-01
      • 2018-06-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-12
      • 2013-10-25
      • 1970-01-01
      相关资源
      最近更新 更多