Google应用程序引擎:java.lang.NoClassDefFoundError:com/Google/appengine/api/datastore/Query$Filter

Google应用程序引擎:java.lang.NoClassDefFoundError:com/Google/appengine/api/datastore/Query$Filter,java,google-app-engine,eclipse-plugin,google-cloud-platform,Java,Google App Engine,Eclipse Plugin,Google Cloud Platform,我只在生产中遇到这个错误-开发服务器工作正常 我的应用程序的旧版本在生产环境中也可以正常工作,但每次我进行新的部署时,当我访问我的应用程序时都会出现此错误。 我试图重新编译抛出错误的特定类并更改代码,但仍然没有成功 我不是很确定,但我想这与部署过程本身有关。。我正在从Eclipse部署。我正在使用: Eclipse版本:Oxygen.3发行版(4.7.3) 谷歌云工具SDK 194.0.0 应用程序引擎1.9.63 谢谢 更新: 下面是一些简单的测试代码: @Override public

我只在生产中遇到这个错误-开发服务器工作正常

我的应用程序的旧版本在生产环境中也可以正常工作,但每次我进行新的部署时,当我访问我的应用程序时都会出现此错误。 我试图重新编译抛出错误的特定类并更改代码,但仍然没有成功

我不是很确定,但我想这与部署过程本身有关。。我正在从Eclipse部署。我正在使用:

  • Eclipse版本:Oxygen.3发行版(4.7.3)
  • 谷歌云工具SDK 194.0.0
  • 应用程序引擎1.9.63
谢谢

更新:

下面是一些简单的测试代码:

@Override
public void doGet(HttpServletRequest req, HttpServletResponse res) throws IOException {
    res.setContentType("text/plain");
    res.setCharacterEncoding("UTF-8");

    // this throws: java.lang.NoClassDefFoundError - only in PRODUCTION
    Query.Filter filter = Query.FilterOperator.EQUAL.of("name", null);

    res.getWriter().print("Hello App Engine: " + filter);
}
这在生产中失败,但在开发服务器上工作

更新2:
打开了一个与谷歌的问题:

这是一个谷歌问题,目前正在调查:

目前的修复方法是将appengine-api-1.0-sdk-1.9.63.jar文件复制到WEB-INF/lib目录中,如本文所述:

为什么要投反对票??找不到Query.Filter类。。这怎么可能?同时提供完整的堆栈跟踪。你有没有想过?我今天开始犯这个错误。当我部署到AppEngine时,我在com/google/AppEngine/api/datastore/Query$Filter上得到NoClassDefFoundError。它以前运行得很好,我认为我没有做任何更改。@pldenc44:还没有解决方案-更新了谷歌问题的链接,通过更新我的谷歌云SDK并升级到JAVA8运行时,我能够克服这个问题。我不确定是哪一个起了作用,但我认为运行“gcloud组件更新”是一个很好的开始。