2

私のGWTアプリケーションはmysql-connector-java-5.1.22-bin.jarを見つけられないようです。GoogleAppEngineを使用しています。

Project-> RIghtClick-> Properties-> Java Build Path->Libraries->mysql-connector-java-5.1.22-bin.jarでjarを設定しました。「MySQLJDBCドライバー」も追加しました。$ CLASSPATHも正しく設定されています(Eclipseでアプリケーションを実行しているので重要ではないと思います)。

私はコマンドラインで同じコードをテストしましたが、それは魅力のように機能します。

$ java -cp ~/mysql-connector-java-5.1.22/mysql-connector-java-5.1.22-bin.jar:. JDBCExample
-------- MySQL JDBC Connection Testing ------------
MySQL JDBC Driver Registered!
You made it, take control your database now!

EclipseでWebアプリケーションを実行すると、これが表示されます

例外:

-------- MySQL JDBC Connection Testing ------------
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
ClassNotFound - Where is your MySQL JDBC Driver?com.mysql.jdbc.Driver
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
    at com.google.appengine.tools.development.IsolatedAppClassLoader.loadClass(IsolatedAppClassLoader.java:207)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:186)
    at com.startupweekend.server.GreetingServiceImpl.readDB(GreetingServiceImpl.java:65)
    at com.startupweekend.server.GreetingServiceImpl.greetServer(GreetingServiceImpl.java:21)

コード:

try {
  Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
  System.out.println("ClassNotFound - Where is your MySQL JDBC Driver?" + e.getMessage());              
  e.printStackTrace(); 
  return;
} 
4

2 に答える 2

4

完全にはわかりませんが、mysql ドライバーを WEB-INF/lib フォルダーに配置し、右クリックしてビルドパスに追加するだけです。それはそれを機能させるはずです。

GAE では一般的なリレーショナル データベースは使用できず、Google CloudSQL しか使用できないことに注意してください。

于 2012-12-03T02:56:09.370 に答える