升级到Java8和endpoints V2后出现AppEngine错误
在升级到Java 8和endpoint升级到V2之后,我一直在获取服务器错误,并在appengine日志中获取以下错误:升级到Java8和endpoints V2后出现AppEngine错误,java,json,google-app-engine,java-8,upgrade,Java,Json,Google App Engine,Java 8,Upgrade,在升级到Java 8和endpoint升级到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
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)
事实证明,这是因为作为应用程序引擎升级的一部分,以下语句不再有效
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;