2013-03-16 49 views
0

我在openjdk6 64位,但似乎也有與最新的太陽版相同的問題。爲什麼Initialising Twig在GWT應用程序崩潰時存儲數據?

這種感覺就像我失去了一些東西很簡單,我已經添加了樹枝2.0罐子我的消息來源,並在我的項目refrenced它

在任何樹枝例如第一行是:

`ObjectDatastore datastore = new AnnotationObjectDatastore(); ' 

但是,當我在我的服務器(從RPC調用),它與下面的錯誤崩潰:

com.google.gwt.user.server.rpc.UnexpectedException: Service method 'public abstract java.lang.String org.chozabu.ProtoCTF.client.SubmitPropService.submitProp(org.chozabu.ProtoCTF.shared.PropInit) throws java.lang.IllegalArgumentException' threw an unexpected exception: java.lang.NoClassDefFoundError: com/google/code/twig/annotation/AnnotationObjectDatastore 
    at com.google.gwt.user.server.rpc.RPC.encodeResponseForFailure(RPC.java:389) 
    at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:579) 
    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) 
    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.api.socket.dev.DevSocketFilter.doFilter(DevSocketFilter.java:74) 
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) 
    at com.google.appengine.tools.development.ResponseRewriterFilter.doFilter(ResponseRewriterFilter.java:123) 
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) 
    at com.google.appengine.tools.development.HeaderVerificationFilter.doFilter(HeaderVerificationFilter.java:34) 
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) 
    at com.google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter(ServeBlobFilter.java:61) 
    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:125) 
    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:94) 
    at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) 
    at com.google.appengine.tools.development.JettyContainerService$ApiProxyHandler.handle(JettyContainerService.java:409) 
    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.NoClassDefFoundError: com/google/code/twig/annotation/AnnotationObjectDatastore 
    at org.chozabu.ProtoCTF.server.SubmitPropServiceImpl.submitProp(SubmitPropServiceImpl.java:38) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
    at java.lang.reflect.Method.invoke(Method.java:597) 
    at com.google.appengine.tools.development.agent.runtime.Runtime.invoke(Runtime.java:115) 
    at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:561) 
    ... 38 more 
Caused by: java.lang.ClassNotFoundException: com.google.code.twig.annotation.AnnotationObjectDatastore 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306) 
    at com.google.appengine.tools.development.IsolatedAppClassLoader.loadClass(IsolatedAppClassLoader.java:213) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247) 
    ... 45 more 
+0

嗯,我可以證實這是發生在Windows以及Linux - 並在一個新的項目。 – Chozabu 2013-03-16 22:34:23

回答

0

這個特殊的問題已解決由這裏列出的方法: Including JAR files in Eclipse (App Engine) project (相關部分:「JARs應該在WEB-INF/lib中」並清理項目)

我把jar文件放在錯誤的地方 - 假設位置並不重要。使用應用程序引擎非常重要!

編輯: 這本身並不能解決我的問題。我已經結束了使用github上同庫尋找項目,並拉動其確切的.jar文件

它們放在這裏: 戰/ WEB-INF/lib目錄/枝,堅持-2.0-beta4.jar 戰爭/WEB-INF/lib/guava-11.0.2.jar

和它的作品...

這似乎很奇怪的是,採用了最新的版本,從官方網站將無法正常工作...... 我猜樹枝假定與應用引擎和JDO不兼容。它似乎也有必要在事務中用一個try-finally-rollback包裝來包裝東西......

相關問題