我整周都在研究这个问题的解决方案,虽然有类似问题的解决方案,但没有一个可以直接解决和纠正这个问题。
我使用 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)
我的类路径引用了我的用户库引用的 /Twincam/war/WEB-INF/lib/mysql-connector-java-5.1.18-bin.jar 中的 mysql-connector.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,所以我相信这不是问题。