我已经花了一周时间研究解决这个问题,虽然有类似问题的解决方案,但没有直接解决并纠正这个问题的方法。
我使用Google App Engine和Google Cloud SQL创建了一个Web应用程序项目。 使用Eclipse Google插件和本地MySQL服务器运行GAE应用程序时,应用程序工作得很好。
当使用以下命令行运行应用程序时:-
sudo /opt/appengine-java-sdk-1.6.1/bin/dev_appserver.sh --jvm_flag=-Drdbms.server=local --jvm_flag=-Drdbms.driver=com.mysql.jdbc.Driver --jvm_flag=-Drdbms.url=jdbc:mysql://localhost:3306/twincam?user=root --port=7070 /home/ben/workspace/Twincam/war
我得到了以下内容:
java.lang.IllegalStateException: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
at com.google.appengine.api.rdbms.dev.LocalRdbmsServiceLocalDriver.registerDriver(LocalRdbmsServiceLocalDriver.java:95)
我已经在classpath中引用了mysql-connector.jar,该文件位于/Twincam/war/WEB-INF/lib/mysql-connector-java-5.1.18-bin.jar,并由我的用户库引用,如下所示的.classpath文件和目录结构:
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="com.google.appengine.eclipse.core.GAE_CONTAINER"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="lib" path="war/WEB-INF/lib/mysql-connector-java-5.1.18-bin.jar"/>
<classpathentry kind="lib" path="war/WEB-INF/lib/gson-2.1-javadoc.jar"/>
<classpathentry kind="lib" path="war/WEB-INF/lib/gson-2.1-sources.jar"/>
<classpathentry kind="lib" path="war/WEB-INF/lib/gson-2.1.jar"/>
<classpathentry kind="output" path="war/WEB-INF/classes"/>
</classpath>
更新:我检查了文件权限,所有权限都设置为默认的 664,所以我相信这不是问题的原因。
更新:我检查了文件权限,发现它们都设置为默认的 664,所以我相信这并不是问题的原因。