Я изучаю решение этой проблемы всю неделю, и, несмотря на то, что были решения аналогичных проблем, нет ни одного адресата и не исправлять эту проблему напрямую.
Я создал проект веб-приложений с помощью Google App Engine и Google Cloud SQL. Запуск приложения GAE с использованием плагина Google eclipse Google и локального сервера MySQL отлично работает.
При запуске приложения из командной строки, используя: -
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)
У меня есть путь к классу, ссылающийся на 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, поэтому я уверен, что это не проблема.