我正在尝试使用Oauth 2.0连接到Google日历。两天前工作正常,但现在引发了一个异常:“引起:java.lang.NoSuchMethodError:com.google.api.client.util.Strings.isNullOrEmpty(Ljava / lang / String;)Z”。
我正在使用google-api-java-client-1.14.1。 (我的图书馆里有“google-http-client-1.14.1-beta.jar”)。
问题只出现在已部署的版本中,当我在本地计算机上运行应用程序时,一切正常。
代码:
public GoogleCredential conexion(String email, String scope) {
GoogleCredential credential =null;
try{
// Build service account credential.
credential = new GoogleCredential.Builder().setTransport(HTTP_TRANSPORT)
.setJsonFactory(JSON_FACTORY)
.setServiceAccountId(SERVICE_ACCOUNT_EMAIL)
.setServiceAccountScopes(scope)
.setServiceAccountPrivateKeyFromP12File(new File(file))
.setServiceAccountUser(email)
.build();
}
catch(Exception e){
e.printStackTrace();
}
return credential;
}
public int function(){
GoogleCredential sa = serviceAc.conexion("user@mail.com",CalendarScopes.CALENDAR);
Calendar service = new Calendar(new NetHttpTransport(), new JacksonFactory(), sa);// here throw the exception
.
.
.
}
答案 0 :(得分:0)
根据java.lang.NoSuchMethodError
您尝试调用Compiletime类路径中可用的方法并且在运行时类路径中不再可用,请检查此answer
所以,没有这样的方法错误(实际上你应该在这里发布完整的错误)这个方法在运行时不再受支持了所以你所要做的就是搜索这个方法及其支持的新类,你会发现在一个新的罐子里