2012-12-02 62 views
2

我的GWT應用程序似乎沒有找到mysql-connector-java-5.1.22-bin.jar。 我正在使用Google App Engine。MySQL JDBC驅動程序不能與GWT一起工作Eclipse項目

我已經在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; 
} 

回答

4

我不能完全肯定,但你應該將mysql驅動程序放在WEB-INF/lib文件夾中,然後右鍵單擊 - >添加以構建路徑。這應該使它工作。

請記住,在GAE中,您不能使用常見的關係數據庫,您只能使用Google CloudSQL。

+0

>>記住,在GAE你不能使用普通的關係型數據庫,你只能使用谷歌CLOUDSQL。 嗨Woojah,我不太明白這是什麼意思。你能幫忙解釋一下嗎? 項目Projecties - > Google - > App Engine - >'使用Google App Engine'被選中。 「啓用Google Cloud SQL」未選中。 那是錯的嗎?我在本地運行一切...我的URL是這樣的http://127.0.0.1:8888/TestApp.html?gwt.codesvr=127.0.0.1:9997 –

+0

@NikhilJoshi,看看這個:https://開發人員。 google.com/cloud-sql/和這個http://stackoverflow.com/questions/1306279/pros-cons-of-google-app-engine – fernandohur

0

您不需要App Engine,只需在準備好戰爭文件時使用GWT編譯。無論如何,請右鍵單擊項目文件夾 - >屬性 - > Google - > App Engine - >取消選中「使用Google App Engine」。確保mysql連接器位於lib文件夾中。享受您最喜愛的關係數據庫,等等。

乾杯

相關問題