我想将一些小东西改为我的App引擎后端,但无法再上传到Appengine Google Cloud。所以我将appengine sdk的版本更新到版本1.9.21(就像另一个仍在更新的项目)。App Engine java.lang.NoClassDefFoundError:com/google/api/server/spi/guice/GuiceSystemServiceServletModule
现在我得到以下错误在运行项目:
java.lang.NoClassDefFoundError: com/google/api/server/spi/guice/GuiceSystemServiceServletModule
当我部署它,我百达得到这个错误:
java.lang.NoClassDefFoundError: nl/mynamespace/guice/FDGuiceSystemServiceServletModule
此类应包含在COM .google.appengine:appengine-endpoints:1.9.22 什么可能是错误的?
奇怪的是,我改变了对吉斯部分不信邪,在另一个项目,它正在以同样的方式...
FDGuiceServletContextListener.java:
public class FDGuiceServletContextListener extends GuiceServletContextListener {
@Override
protected Injector getInjector() {
return Guice.createInjector(new FDGuiceSystemServiceServletModule());
}
}
FDGuiceSystemServiceServletModule.java
public class FDGuiceSystemServiceServletModule extends GuiceSystemServiceServletModule {
@Override
protected void configureServlets() {
super.configureServlets();
Set<Class<?>> serviceClasses = new HashSet<>();
serviceClasses.add(DashboardApi.class);
serviceClasses.add(SalesAPI.class);
serviceClasses.add(LeadsApi.class);
serveGuiceSystemServiceServlet("/_ah/spi/*", serviceClasses);
}
}
的web.xml
[..] <filter> <filter-name>guiceFilter</filter-name> <filter-class>com.google.inject.servlet.GuiceFilter</filter-class> </filter> <filter-mapping> <filter-name>guiceFilter</filter-name> <url-pattern>/_ah/spi/*</url-pattern> <url-pattern>/*</url-pattern> </filter-mapping> <listener> <listener-class>nl.mynamespace.guice.FDGuiceServletContextListener</listener-class> </listener> [..]