2011-05-28 61 views
0

問候,我一直在使用GWT,Extgwt & JPA幾個星期。我有簡單的稱爲區域和工程罰款。當我添加extgwt LIB GXT-2.2.3,並創建新類Area_dto這是擴展Extgwt LIB的BaseModelData,我得到的錯誤如下問題與GAE(J),EXTGwt和JPA

[錯誤] javax.servlet.ServletContext日誌:異常而調度傳入RPC調用 com.google.gwt.user.server.rpc.UnexpectedException:服務方法'public abstract java.lang.String com.myday.client.AreaService.greetServer(com.myday.shared.Area)throws java.lang.IllegalArgumentException'throw意外的異常:java.lang.ExceptionInInitializerError at com.google.gwt.user.server.rpc.RPC.encodeResponseForFailure(RPC.java:385) at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse (RPC.java:588) at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java: 208) at com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:248) at com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62) (HttpServlet.java:717) at org.mortbay.jetty.servlet.ServletHolder.handle(HttpServlet.java:637) ServletHolder.java:511) at org.mortbay.jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler.java:1166) at com.google.appengine.tools.development.HeaderVerificationFilter.doFilter(HeaderVerificationFilter.java:35) at org.mortbay.jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler.java:1157) com.google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter(ServeBlobFilter.java:58) at org.mortbay.jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler.java:1157) at com.google .apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:43) at org.mortbay.jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler.java:1157) at com.google.appengine.tools.development .StaticFileFilter.doFilter(StaticFileFilter.java:122) at org.mortbay.jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler.java:1157) at com.google.appengine.tools.development.BackendServersFilter.doFilter(BackendServersFilter .java:94) at org.mortbay.jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler.java:1157) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388) at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) at org.mortbay.jetty.servlet。 SessionHandler.handle(SessionHandler.java:182) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418) at com.google.apphosting.utils.jetty.DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java:70) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) at com.google.appengine。 tools.development.JettyContainerService $ ApiProxyHandler.handle(JettyContainerService.java:351) at org.mortbay.jetty.handler.H (org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542) at org。 (org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:755) at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java: 218) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) at org.mortbay.io.nio.SelectChannelEndPoint。運行(SelectChannelEndPoint.java:409) 在org.mortbay.thread.QueuedThreadPool $ PoolThread.run(QueuedThreadPool.java:582) 產生的原因:在com.myday.server.AreaServiceImpl.greetServer java.lang.ExceptionInInitializerError (AreaServiceImpl的.java:19) 在sun.reflect.NativeMethodAccessorImpl.invoke0(本機方法) 在sun.reflect.NativeMethodAccessorImpl.invoke(未知來源) 在sun.reflect.DelegatingMethodAccessorImpl.invoke(未知來源) 在java.lang中。通過com.google.appengine.tools.development.agent.runtime.Runtime.invoke(Runtime.java:100) com.google.gwt.user.server.rpc.RPC反映.Method.invoke(未知來源) .invokeAndEncodeResponse(RPC.java:569) ... 34更多 導致:javax.persistence.PersistenceException:提供程序錯誤。提供程序:org.datanucleus.store.appengine.jpa.DatastorePersistenceProvider at javax.persistence.Persistence.createFactory(Persistence.java:176) at javax.persistence.createEntityManagerFactory(Persistence.java:112) at javax.persistence (Persistence.java:66) at com.myday.server.EMF。(EMF.java:7) ... 41更多 引起:org.datanucleus.exceptions.NucleusUserException:類「transactions-可選的「發現是持久性單元」{1}「的一部分,因此加載它以防萬一持久化.initialisePMF(EntityManagerFactoryImpl.java:488) 在org.datanucleus.jpa.EntityManagerFactoryImpl。(EntityManagerFactoryImpl.java:355) 在org.datanucleus.store.appengine.jpa.DatastoreEntityManagerFactory。(DatastoreEntityManagerFactory.java:63) 在org.datanucleus.store.appengine.jpa。 DatastorePersistenceProvider.createEntityManagerFactory(DatastorePersistenceProvider.java:35) 在javax.persistence.Persistence.createFactory(Persistence.java:172) ...... 44多個 造成的:org.datanucleus.exceptions.ClassNotResolvedException:類「com.myday。 shared.AreaModel「在CLASSPATH中找不到。請檢查您的規格和您的CLASSPATH。 在org.datanucleus.JDOClassLoaderResolver.classForName(JDOClassLoaderResolver.java:250) 在org.datanucleus.JDOClassLoaderResolver.classForName(JDOClassLoaderResolver.java:415) 在org.datanucleus.metadata.MetaDataManager.loadPersistenceUnit(MetaDataManager.java:767) ...... 49多個


我使用Eclipse V3.6,GAE V 1.5

感謝 拉古

回答

0

最後我得到了解決。

問題是gxt-xx.jar不在文件夾war \ WEB-INF \ lib中。我將gxt-xx.jar文件複製到war \ WEB-INF \ lib文件夾中,一切正常。

默認情況下,在我的經驗中,在Eclipse GAE gxt-xx.jar文件中未添加到war \ WEB-INF \ lib文件夾中。全部