【问题标题】:MySQL JDBC driver not working with GWT Eclipse ProjectMySQL JDBC 驱动程序不适用于 GWT Eclipse 项目
【发布时间】:2012-11-20 08:24:15
【问题描述】:

我的 GWT 应用程序似乎没有找到 mysql-connector-java-5.1.22-bin.jar。 我使用的是 Google App Engine。

我已经在 Project->RIghtClick->Properties->Java Build Path->Libraries->mysql-connector-java-5.1.22-bin.jar 中设置了 jar。我还添加了“MySQL JDBC 驱动程序”。 $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;
} 

【问题讨论】:

    标签: mysql google-app-engine gwt jdbc google-cloud-sql


    【解决方案1】:

    我不完全确定,但你应该把 mysql 驱动程序放在你的 WEB-INF/lib 文件夹中,然后右键单击 -> 添加到构建路径。那应该可以正常工作。

    请记住,在 GAE 中您不能使用常见的关系数据库,您只能使用 Google CloudSQL。

    【讨论】:

    【解决方案2】:

    您不需要 App Engine,只需在准备好您的 war 文件时使用 GWT 编译即可。在任何情况下,右键单击项目文件夹 -> 属性 -> Google -> App Engine -> 取消选中“使用 Google App Engine”。确保 mysql-connector 在您的 lib 文件夹中。享受您最喜欢的关系数据库等。

    干杯

    【讨论】:

      猜你喜欢
      • 2011-05-11
      • 2016-04-02
      • 2013-03-22
      • 2021-08-30
      • 2012-07-14
      • 1970-01-01
      • 2015-01-11
      • 2017-08-27
      相关资源
      最近更新 更多