2013-10-15 95 views
0

部署时运行后我的应用程序时,我收到此错误:App Engine的ClassNotFoundException的部署

Could not instantiate listener com.utilitiessavings.usavappv7.server.guice.GuiceServletConfig 
java.lang.ClassNotFoundException: com.utilitiessavings.usavappv7.server.guice.GuiceServletConfig 
    at com.google.appengine.runtime.Request.process-8209d48b595b1c2d(Request.java) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:360) 
    at org.mortbay.jetty.handler.ContextHandler.loadClass(ContextHandler.java:1101) 
    at org.mortbay.jetty.webapp.WebXmlConfiguration.initListener(WebXmlConfiguration.java:630) 
    at org.mortbay.jetty.webapp.WebXmlConfiguration.initWebXmlElement(WebXmlConfiguration.java:368) 
    at org.mortbay.jetty.webapp.WebXmlConfiguration.initialize(WebXmlConfiguration.java:289) 
    at org.mortbay.jetty.webapp.WebXmlConfiguration.configure(WebXmlConfiguration.java:222) 
    at org.mortbay.jetty.webapp.WebXmlConfiguration.configureWebApp(WebXmlConfiguration.java:180) 
    at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1247) 
    at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517) 
    at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:467) 
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) 
    at com.google.tracing.TraceContext$TraceContextRunnable.runInContext(TraceContext.java:435) 
    at com.google.tracing.TraceContext$TraceContextRunnable$1.run(TraceContext.java:442) 
    at com.google.tracing.CurrentContext.runInContext(CurrentContext.java:186) 
    at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:306) 
    at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:298) 
    at com.google.tracing.TraceContext$TraceContextRunnable.run(TraceContext.java:439) 
    at java.lang.Thread.run(Thread.java:724) 

其次是其他几个错误,但似乎我的GuiceServlet(在我的web.xml中定义)由于某种原因无法实例化。下一个错误是相同的,但对于我的uploadServlet,则存在一些由于servlet不可用而导致的错误。

我的应用在开发模式下运行良好,使用GWT 2.5.1,GAE 1.8.5和GWTP 1.0.1。

这是我第一个这个项目的maven版本,我不太确定我是否正确部署它。我只是使用Google Eclipse插件中的常规部署方法。

任何指针赞赏。

回答

0

发现我做错了什么。我需要使用maven-gae-plugin来部署它(就像在我的pom.xml中设置的那样,肯定错过了这个)

运行一个目标为gae:deploy的maven版本就诀窍了。对于任何插件如何设置谁需要它

详情:

<pluginRepositories> 
    <pluginRepository> 
     <id>sonatype.snapshots</id> 
     <url>https://oss.sonatype.org/content/repositories/snapshots/</url> 
    </pluginRepository> 
</pluginRepositories> 



<properties> 
    <gae.version>1.7.7</gae.version> 
    <webappDirectory>${project.build.directory}/${project.build.finalName}</webappDirectory> 
    <gae.home> 
     ${settings.localRepository}/com/google/appengine/appengine-java-sdk/${gae.version}/appengine-java-sdk-${gae.version} 
    </gae.home> 
<propertiess> 

<plugin> 
    <groupId>net.kindleit</groupId> 
    <artifactId>maven-gae-plugin</artifactId> 
    <version>0.9.5</version> 
    <configuration> 
     <sdkDir>${gae.home}</sdkDir> 
      <!-- Add credentials to ~/.m2/settings.xml <id>appengine-credentials</id> --> 
      <serverId>appengine-credentials</serverId> 
      <splitJars>true</splitJars> 
     </configuration> 
     <executions> 
      <execution> 
       <id>unpack</id> 
       <phase>validate</phase> 
       <goals> 
        <goal>unpack</goal> 
       </goals> 
      </execution> 
      <execution> 
       <id>deploy</id> 
       <goals> 
        <goal>deploy</goal> 
       </goals> 
      </execution> 
     </executions> 
    </plugin> 

参见:https://github.com/maven-gae-plugin/maven-gae-plugin