Class.forName(“com.mysql.jdbc.Driver”)在Raspberry Pi上不起作用

时间:2014-03-27 13:23:58

标签: java mysql jdbc classnotfoundexception

此代码:

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

导致

  

ClassNotFoundException的

关于覆盆子Pi。虽然我的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

感谢 弗洛里安

2 个答案:

答案 0 :(得分:4)

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

  

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

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

答案 1 :(得分:0)

只需复制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选项。