我的 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 应用程序时,我得到了这个
异常(exception):
-------- 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 驱动程序放在 WEB-INF/lib 文件夹中,然后右键单击 -> 添加到构建路径。这应该可以让它工作。
请记住,在 GAE 中您不能使用常见的关系数据库,只能使用 Google CloudSQL。
关于MySQL JDBC 驱动程序无法与 GWT Eclipse 项目一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13673617/