我正在尝试使用Oauth 2.0连接到Google Calendar。两天前工作正常,但是现在抛出了一个异常:"Caused by: 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
.
.
.
}
发布于 2013-05-17 12:30:15
根据java.lang.NoSuchMethodError
,您试图调用的方法在编译时类路径中可用,但在运行时类路径中不再可用。请检查此answer
所以,方法没有这样的错误(实际上你应该在这里发布完整的错误)这个方法在运行时不再受支持,所以你所要做的就是搜索这个方法和它支持的新类,你会在一个新的Jar中找到它
https://stackoverflow.com/questions/16607859
复制