尝试从Eclipse运行我的项目作为WebApplication时,出现以下错误:
[WARN] failed com.google.apphosting.utils.jetty.DevAppEngineWebAppContext@4b903fd{/,D:\Dev\Projects\The Five Orbs\trunk\target\fiveorbs-0.1}: java.lang.NoClassDefFoundError: com/google/inject/servlet/GuiceServletContextListener
[WARN] failed JettyContainerService$ApiProxyHandler@eb4d977: java.lang.NoClassDefFoundError: com/google/inject/servlet/GuiceServletContextListener
[WARN] Error starting handlers
java.lang.NoClassDefFoundError: com/google/inject/servlet/GuiceServletContextListener
该类可以在编译时找到(我的自定义GuiceServletConfig扩展了GuiceServletContextListener并正确编译)。
guice-servlet-3.0.jar
库出现在项目构建路径和Eclipse中的Web应用程序运行配置的类路径中。
我的运行配置的 Arguments 面板具有以下配置: 在程序参数:
-remoteUI "${gwt_remote_ui_server_port}:${unique_id}" -startupUrl TheFiveOrbs.jsp -logLevel INFO -server com.google.appengine.tools.development.gwt.AppEngineLauncher -port 8888 -codeServerPort 9997 -war "D:\Dev\Projects\The Five Orbs\trunk\target\fiveorbs-0.1" com.fiveorbs.TheFiveOrbs
VM参数中的:
-javaagent:D:\Dev\Programs\appengine-java-sdk\lib\agent\appengine-agent.jar -Xmx512m -Dappengine.sdk.root=D:\Dev\Programs\appengine-java-sdk
当我运行mvn gae:使用Maven从命令提示符运行时,一切都很好 - 服务器正常启动并且没有显示异常。
我一直在努力解决这个问题几个小时,实在无法理解为什么会这样。
提前感谢您提供的任何提示。
塞巴斯蒂安
答案 0 :(得分:5)
guice-servlet-3.0.jar
不应该在启动配置类路径中,它应该存在于D:\Dev\Projects\The Five Orbs\trunk\target\fiveorbs-0.1\WEB-INF\lib
文件夹中。