Java Google App Engine e Google Cloud SQL in esecuzione su Dev Server locale
-
11-11-2019 - |
Domanda
Ho cercato una soluzione a questa settimana e mentre ci sono state soluzioni a problemi simili non ci sono che affrontano e correggano direttamente questo problema.
Ho creato un progetto di applicazione Web utilizzando Google App Engine e Google Cloud SQL. Esecuzione dell'applicazione GAE utilizzando il plug -in Eclipse Google e un server MySQL locale l'applicazione funziona alla grande.
Quando si esegue l'applicazione dalla riga di comando usando:-
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
Ottengo quanto segue:-
java.lang.IllegalStateException: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
at com.google.appengine.api.rdbms.dev.LocalRdbmsServiceLocalDriver.registerDriver(LocalRdbmsServiceLocalDriver.java:95)
Ho il percorso di classe che fa riferimento a mysql-connector.jar situato in /twincam/war/web-inf/lib/mysql-connector-java-5.1.18-bin.jar riferito dalla mia libreria utente come nel file. Classpath seguente e Struttura della directory:-
<?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>
AGGIORNAMENTO: ho controllato le autorizzazioni dei file e tutti sono impostati al 664 predefinito, quindi sono sicuro che questo non sia il problema.
Nessuna soluzione corretta