【发布时间】:2020-11-18 05:57:00
【问题描述】:
我正在尝试使用 goolge-oauth2 库,当我在类上调用刷新令牌方法时出现此错误:
原因:
java.lang.NoClassDefFoundError: javax/net/ssl/HttpsURLConnection
at com.google.api.client.http.javanet.NetHttpTransport.buildRequest(NetHttpTransport.java:152)
at com.google.api.client.http.javanet.NetHttpTransport.buildRequest(NetHttpTransport.java:55)
at com.google.api.client.http.HttpRequest.execute(HttpRequest.java:889)
at com.google.auth.oauth2.ServiceAccountCredentials.refreshAccessToken(ServiceAccountCredentials.java:441)
at com.google.auth.oauth2.OAuth2Credentials.refresh(OAuth2Credentials.java:157)
at com.google.auth.oauth2.OAuth2Credentials.refreshIfExpired(OAuth2Credentials.java:174)
这是我用来检索 ServiceAccountCredentials 对象的代码
ServiceAccountCredentials googleCredential = ServiceAccountCredentials.fromPkcs8(client_id, client_email, private_key,private_key_id, Arrays.asList(scope));
googleCredential.refreshIfExpired();
使用“https://www.googleapis.com/auth/iam”作为范围
现在这是我第一次需要连接到 Https url,所以也许我遗漏了一些东西......
【问题讨论】:
-
你在开发什么样的软件?缺少的类是 JRE 的一部分,但如果您正在开发 e. G。 OSGi 插件,对它的访问可能会受到限制。因此,您工作的环境可能与此处相关。
-
我正在开发一个 OSGI 插件,在 jboss fuse 平台上,所以这也可以解释这样一个事实,即当我使用主类进行测试时,它可以在我的本地 eclipse 中工作......
标签: java google-oauth google-oauth-java-client