【问题标题】:Google OAUTH: java.lang.NoClassDefFoundError: javax/net/ssl/HttpsURLConnection谷歌 OAUTH:java.lang.NoClassDefFoundError:javax/net/ssl/HttpsURLConnection
【发布时间】: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


【解决方案1】:

https://www.eclipse.org/forums/index.php/t/1072090/ 表示您需要在清单中导入 javax.net.ssl。我不是 OSGi 开发人员,所以我不确定它是如何确切工作的,但找到这方面的文档应该不会太难。

【讨论】:

    猜你喜欢
    • 2012-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-23
    • 1970-01-01
    • 1970-01-01
    • 2013-05-27
    • 1970-01-01
    相关资源
    最近更新 更多