【问题标题】:AppEngine error following upgrade to Java8 and endpoints V2升级到 Java8 和端点 V2 后出现 AppEngine 错误
【发布时间】:2018-08-07 20:28:35
【问题描述】:

在升级到 Java 8 和端点升级到 V2 之后,我不断收到服务器错误并在我的 appengine 日志中收到以下错误:

com.google.apphosting.runtime.jetty9.JettyLogger warn: Error xxxxxxxxx (JettyLogger.java:29)
    java.lang.NoClassDefFoundError: com/google/appengine/repackaged/com/google/gson/JsonElement
        at java.lang.Class.getDeclaredConstructors0(Native Method)
        at java.lang.Class.privateGetDeclaredConstructors(Class.java:2673)
        at java.lang.Class.getConstructor0(Class.java:3077)
        at java.lang.Class.newInstance(Class.java:413)

【问题讨论】:

    标签: java json google-app-engine java-8 upgrade


    【解决方案1】:

    原来是因为作为应用引擎升级的一部分,以下语句不再有效

    import com.google.appengine.repackaged.com.google.gson.Gson;
    import com.google.appengine.repackaged.com.google.gson.GsonBuilder;
    ...
    Gson gson = new GsonBuilder().create();
    

    您需要改用新的 Json 库:

    1) 向您的 gradle 文件添加新的依赖项:

    compile 'com.google.code.gson:gson:2.8.1' 
    

    2) 替换

    import com.google.appengine.repackaged.com.google.gson.Gson;
    import com.google.appengine.repackaged.com.google.gson.GsonBuilder;
    

    import com.google.gson.Gson;
    import com.google.gson.GsonBuilder; 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-12-05
      • 2013-09-07
      • 2020-01-19
      • 2014-10-06
      • 1970-01-01
      • 2014-04-10
      • 1970-01-01
      • 2021-09-26
      相关资源
      最近更新 更多