2010-11-10 98 views
2

我試圖使用與GWT(使用Gilead公司),休眠,但我得到了以下錯誤初始化休眠與GWT問題

[WARN] /hibernate/greet 
java.lang.NoClassDefFoundError: Could not initialize class net.jaffa.hibernate.server.NewHibernateUtil 
    at net.jaffa.hibernate.server.GreetingServiceImpl.<init>(GreetingServiceImpl.java:26) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) 
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) 
    at java.lang.reflect.Constructor.newInstance(Constructor.java:513) 
    at java.lang.Class.newInstance0(Class.java:355) 
    at java.lang.Class.newInstance(Class.java:308) 
    at org.mortbay.jetty.servlet.Holder.newInstance(Holder.java:153) 
    at org.mortbay.jetty.servlet.ServletHolder.getServlet(ServletHolder.java:339) 
    at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:463) 
    at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:362) 
    at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) 
    at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181) 
    at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:729) 
    at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405) 
    at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) 
    at org.mortbay.jetty.handler.RequestLogHandler.handle(RequestLogHandler.java:49) 
    at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) 
    at org.mortbay.jetty.Server.handle(Server.java:324) 
    at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505) 
    at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:843) 
    at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:647) 
    at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211) 
    at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380) 
    at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395) 
    at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:488) 
[ERROR] 500 - POST /hibernate/greet (127.0.0.1) 3632 bytes 
    Request headers 
     Host: 127.0.0.1:8888 
     User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12 
     Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 
     Accept-Language: en-us,en;q=0.5 
     Accept-Encoding: gzip,deflate 
     Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 
     Keep-Alive: 115 
     Connection: keep-alive 
     Referer: http://127.0.0.1:8888/hibernate/hosted.html?hibernate 
     X-GWT-Permutation: HostedMode 
     X-GWT-Module-Base: http://127.0.0.1:8888/hibernate/ 
     Content-Type: text/x-gwt-rpc; charset=utf-8 
     Content-Length: 175 
     Pragma: no-cache 
     Cache-Control: no-cache 
    Response headers 
     Content-Type: text/html; charset=iso-8859-1 
     Content-Length: 3632 

這仍然是一個新的項目,只是我想做的證明概念。

感謝 Feras

+0

什麼庫/ jar是net.jaffa.hibernate.server.NewHibernateUtil in?這是你自己的班級嗎? – JoseK 2010-11-10 11:04:27

+0

是我自己的hibernate util(我初始化會話工廠)。 – 2010-11-10 11:06:47

回答

3

java.lang.NoClassDefFoundError: Could not initialize class n.j.h.s.NewHibernateUtil

此錯誤表示找到該類,但其初始化失敗。可能的原因包括

  1. 一些依賴不滿意〜或〜
  2. 執行在類的靜態初始化塊時則拋出異常。

在一個典型的HibernateUtil類的特殊情況下,我敢打賭第二種選擇。提取靜態初始化塊的代碼,並在容器外部的常規main中運行/調試它(也可以嘗試改善出現問題時的錯誤報告)。

+0

謝謝,你是正確的有一個映射文件中的錯誤。 – 2010-11-10 12:32:25

1

java.lang.NoClassDefFoundError意味着運行時無法找到其CLASSPATH中的類。 看來你缺少一個包含類net.jaffa.hibernate.server.NewHibernateUtil的jar。

+0

這是我的課,它在服務器包 – 2010-11-10 11:08:02