繁体   English   中英

Google App Engine:java.lang.NoClassDefFoundError:com / google / appengine / api / datastore / Query $ Filter

[英]Google App Engine: java.lang.NoClassDefFoundError: com/google/appengine/api/datastore/Query$Filter

我仅在生产中遇到此错误-开发服务器工作正常。

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

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

  • Eclipse版本:Oxygen.3发布(4.7.3)
  • Google Cloud Tools SDK 194.0.0
  • App Engine 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:提出了与Google的问题: https : //issuetracker.google.com/issues/76144204

这是目前正在调查的Google问题: https : //issuetracker.google.com/issues/76144204

目前的解决方法是按照以下注释中的说明将appengine-api-1.0-sdk-1.9.63.jar文件复制到WEB-INF / lib目录中: https ://issuetracker.google.com/issues/76144204# comment45

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM