簡體   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