gwt java.lang.ExceptionInInitializeError

gwt java.lang.ExceptionInInitializeError,exception,gwt,initialization,rpc,Exception,Gwt,Initialization,Rpc,我正在开发一个GWT应用程序,并不断得到如下所示的错误 我遵循了关于servlet类命名约定的GWT教程,并遵循了Service/Async/ServiceImpl结构 我还尝试添加-XX:-UseSplitVerifierVM参数来修复以前的问题。有什么想法吗 SEVERE: javax.servlet.ServletContext log: Exception while dispatching incoming RPC call java.lang.ExceptionInIniti

我正在开发一个GWT应用程序,并不断得到如下所示的错误

我遵循了关于servlet类命名约定的GWT教程,并遵循了Service/Async/ServiceImpl结构

我还尝试添加
-XX:-UseSplitVerifier
VM参数来修复以前的问题。有什么想法吗

SEVERE: javax.servlet.ServletContext log: Exception while dispatching incoming RPC    
call
java.lang.ExceptionInInitializerError
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at   

com.google.appengine.tools.development.agent.runtime.Runtime.newInstance_   
(Runtime.java:127)
at com.google.appengine.tools.development.agent.runtime.Runtime.newInstance  
(Runtime.java:135)
at com.google.gwt.user.server.rpc.impl.ServerSerializationStreamReader.instantiate 
(ServerSerializationStreamReader.java:914)
at com.google.gwt.user.server.rpc.impl.ServerSerializationStreamReader.deserialize 
(ServerSerializationStreamReader.java:556)
at com.google.gwt.user.client.rpc.impl.AbstractSerializationStreamReader.readObject 
(AbstractSerializationStreamReader.java:119)
at   
com.google.gwt.user.server.rpc.impl.ServerSerializationStreamReader$ValueReader$8. 
readValue(ServerSerializationStreamReader.java:138)
at  
com.google.gwt.user.server.rpc.impl.ServerSerializationStreamReader.deserializeValue 
(ServerSerializationStreamReader.java:385)
at com.google.gwt.user.server.rpc.RPC.decodeRequest(RPC.java:303)
at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall  
(RemoteServiceServlet.java:206)
at com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost  
(RemoteServiceServlet.java:248)
at com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost
(AbstractRemoteServiceServlet.java:62)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.mortbay.jetty.servlet.ServletHolder.handle(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)
at com.google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter
(ServeBlobFilter.java:60)
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:97)
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.appengine.tools.development.DevAppEngineWebAppContext.handle
(DevAppEngineWebAppContext.java:78)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at  
com.google.appengine.tools.development.JettyContainerService$ApiProxyHandler.handle
(JettyContainerService.java:369)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.Server.handle(Server.java:326)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:938)
at 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.run(SelectChannelEndPoint.java:409)
at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
Caused by: java.lang.UnsupportedOperationException: ERROR: GWT.create() is only usable    
in client code!  It cannot be called, for example, from server code.  If you are  
running a unit test, check that your test case extends GWTTestCase and that 
GWT.create() is not called from within an initializer or constructor.
at com.google.gwt.core.client.GWT.create(GWT.java:91)
at com.google.gwt.user.client.ui.UIObject.<clinit>(UIObject.java:187)
... 46 more
SEVERE:javax.servlet.ServletContext日志:调度传入RPC时发生异常
呼叫
java.lang.ExceptionInInitializeError
位于sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法)
位于sun.reflect.NativeConstructorAccessorImpl.newInstance(未知源)
位于sun.reflect.delegatingConstructor或AccessorImpl.newInstance(未知源)
位于java.lang.reflect.Constructor.newInstance(未知源)
在
com.google.appengine.tools.development.agent.runtime.runtime.newInstance\u
(Runtime.java:127)
位于com.google.appengine.tools.development.agent.runtime.runtime.newInstance
(Runtime.java:135)
在com.google.gwt.user.server.rpc.impl.ServerSerializationStreamReader.instantiate上
(ServerSerializationStreamReader.java:914)
在com.google.gwt.user.server.rpc.impl.ServerSerializationStreamReader.deserialize上
(ServerSerializationStreamReader.java:556)
位于com.google.gwt.user.client.rpc.impl.AbstractSerializationStreamReader.readObject
(AbstractSerializationStreamReader.java:119)
在
com.google.gwt.user.server.rpc.impl.ServerSerializationStreamReader$ValueReader$8。
readValue(ServerSerializationStreamReader.java:138)
在
com.google.gwt.user.server.rpc.impl.ServerSerializationStreamReader.deserializeValue
(ServerSerializationStreamReader.java:385)
位于com.google.gwt.user.server.rpc.rpc.decodeRequest(rpc.java:303)
在com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall上
(RemoteServiceServlet.java:206)
位于com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost
(RemoteServiceServlet.java:248)
位于com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost
(AbstractRemoteServiceServlet.java:62)
位于javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
位于javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
位于org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
位于org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter
(ServletHandler.java:1166)
位于com.google.appengine.tools.development.headerficationfilter.doFilter
(headerficationfilter.java:35)
位于org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter
(ServletHandler.java:1157)
在com.google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter上
(ServeBlobFilter.java:60)
位于org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter
(ServletHandler.java:1157)
位于com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter
(TransactionCleanupFilter.java:43)
位于org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter
(ServletHandler.java:1157)
位于com.google.appengine.tools.development.StaticFileFilter.doFilter
(StaticFileFilter.java:122)
位于org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter
(ServletHandler.java:1157)
在com.google.appengine.tools.development.BackendServersFilter.doFilter上
(BackendServersFilter.java:97)
位于org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter
(ServletHandler.java:1157)
位于org.mortbay.jetty.servlet.ServletHandler.handle
(ServletHandler.java:388)
位于org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
位于org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
位于org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
位于org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
位于com.google.appengine.tools.development.devappengineewebappcontext.handle
(DevAppEngineWebAppContext.java:78)
位于org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
在
com.google.appengine.tools.development.JettyContainerService$ApiProxyHandler.handle
(JettyContainerService.java:369)
位于org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
位于org.mortbay.jetty.Server.handle(Server.java:326)
位于org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
位于org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:938)
位于org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:755)
位于org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
位于org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
位于org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
位于org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
原因:java.lang.UnsupportedOperationException:错误:GWT.create()仅可用
在客户端代码中!例如,不能从服务器代码调用它。如果你是
运行单元测试时,检查测试用例是否扩展了GWTTestCase,以及
不从初始值设定项或构造函数中调用GWT.create()。
位于com.google.gwt.core.client.gwt.create(gwt.java:91)
位于com.google.gwt.user.client.ui.UIObject.(UIObject.java:187)
... 46多

几乎可以肯定,您正在调用一个仅限GWT客户端的类。您有以下错误:

 Caused by: java.lang.UnsupportedOperationException: ERROR: GWT.create() is only usable    
in client code!  It cannot be called, for example, from server code.  If you are  
running a unit test, check that your test case extends GWTTestCase and that 
GWT.create() is not called from within an initializer or constructor.

您不需要自己专门调用“GWT.create()”来获得该异常。您可能正在服务器端调用仅限GWT客户端的类。另外,您可能在RPC的一个参数中包含“仅客户端”对象,甚至在服务器端调用的共享代码中也包含该对象。

FWIW,我遇到了相同的错误,结果它是一个常量(静态final),使用GWT.create()进行初始化。常量位于需要由GIN依赖项注入解析器加载的类中


IE:它试图在模块编译期间加载类(并调用GWT.create()。

注意到
错误:GWT.create()仅在客户端代码中可用?在您的服务器代码中查找我的服务器代码中没有GWT.create(),只有在客户端代码中您才配置了部署de