简体   繁体   English

升级到Java8和端点V2后,AppEngine错误

[英]AppEngine error following upgrade to Java8 and endpoints V2

Following an upgrade to Java 8 and endpoint upgrade to V2 I kept on getting server error and getting the following errors in my appengine logs: 在升级到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)

Turns out it's because as part of the app engine upgrade the following statements are no longer valid 原来是因为作为App Engine升级的一部分,以下语句不再有效

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

you need to use the new Json library instead: 您需要使用新的Json库:

1) add new dependency to your gradle file: 1)向您的gradle文件添加新的依赖项:

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

2) replace 2)更换

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

with

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

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

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