android - Gradle Android 与 maven 存储库通信 身份验证错误

标签 android maven gradle maven-2

我的 gradle 构建中有这些,但是当我尝试编译 compile'c​​om.livegenic:livegenic-core:2.0.0' 时,它给了我 Caused by: javax.net。 ssl.SSLPeerUnverifiedException:对等端未通过身份验证

也许我正在使用我的 gradle srcipt 以错误的方式进行身份验证?

repositories {
        maven {
            credentials {
                username 'admin'
                password '*********'
            }
            url 'https://cloudbuild.livegenic.com/nexus/content/repositories/test_kirill/'
        }
    }

编辑: 这是错误的痕迹

Caused by: org.gradle.internal.resource.transport.http.HttpRequestException: Could not GET 'https://cloudbuild.livegenic.com/nexus/content/repositories/test_kirill/com/livegenic/livegenic-core/2.0.0/livegenic-core-2.
0.0.pom'.
        at org.gradle.internal.resource.transport.http.HttpClientHelper.performRequest(HttpClientHelper.java:83)
        at org.gradle.internal.resource.transport.http.HttpClientHelper.performRawGet(HttpClientHelper.java:69)
        at org.gradle.internal.resource.transport.http.HttpClientHelper.performGet(HttpClientHelper.java:73)
        at org.gradle.internal.resource.transport.http.HttpResourceAccessor.openResource(HttpResourceAccessor.java:51)
        at org.gradle.internal.resource.transport.http.HttpResourceAccessor.openResource(HttpResourceAccessor.java:34)
        at org.gradle.internal.resource.transfer.DefaultExternalResourceConnector.openResource(DefaultExternalResourceConnector.java:41)
        at org.gradle.internal.resource.transfer.ProgressLoggingExternalResourceAccessor.openResource(ProgressLoggingExternalResourceAccessor.java:36)
        at org.gradle.internal.resource.transport.DefaultExternalResourceRepository.getResource(DefaultExternalResourceRepository.java:63)
        at org.gradle.internal.resource.transfer.DefaultCacheAwareExternalResourceAccessor.getResource(DefaultCacheAwareExternalResourceAccessor.java:75)
        at org.gradle.api.internal.artifacts.repositories.resolver.DefaultExternalResourceArtifactResolver.downloadStaticResource(DefaultExternalResourceArtifactResolver.java:90)
        ... 133 more        
Caused by: javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated
        at org.apache.http.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java:128)
        at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:572)
        at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:180)
        at org.apache.http.impl.conn.ManagedClientConnectionImpl.open(ManagedClientConnectionImpl.java:294)
        at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:640)
        at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:479)
        at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:906)
        at org.apache.http.impl.client.DecompressingHttpClient.execute(DecompressingHttpClient.java:137)
        at org.apache.http.impl.client.DecompressingHttpClient.execute(DecompressingHttpClient.java:118)
        at org.gradle.internal.resource.transport.http.HttpClientHelper.performHttpRequest(HttpClientHelper.java:113)
        at org.gradle.internal.resource.transport.http.HttpClientHelper.executeGetOrHead(HttpClientHelper.java:90)
        at org.gradle.internal.resource.transport.http.HttpClientHelper.performRequest(HttpClientHelper.java:81)
        ... 142 more  

最佳答案

不要使用 https 尝试使用 http

repositories {
    maven {
        credentials {
            username 'admin'
            password '*********'
        }
        url 'http://cloudbuild.livegenic.com/nexus/content/repositories/test_kirill/'
    }
}

正如所指出的,是的,这破坏了 https 的保护,100% 同意。唯一真正的解决方案是让服务器修复它的证书。然而,某些企业防火墙可能正在放弃所有流量,是的,它确实发生了。如果您有权访问该证书用于重新签署所有内容,那么您可以像这样将证书导入您的工具链

$ cd $JAVA_HOME/jre/lib/security
$ mv cacerts cacerts.orig
$ chmod 444 cacerts.orig
$ cp cacerts.orig cacerts
$ chmod 664 cacerts
$ $JAVA_HOME/bin/keytool -keystore cacerts -import -alias MyAlias -file /path/to/myCert.cer

请确保您以能够修改系统上 Java keystore 的用户身份运行 keytool 导入。对我来说,在 Mac 上是 root。

关于android - Gradle Android 与 maven 存储库通信 身份验证错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36283693/

相关文章:

android - 检索项目 : No resource found that matches the given name 'android:Widget.Material.Button.Colored' 的父项时出错

android 无法找到固定方向 Activity 的布局资源

java - 如何设置-XX :PermSize=64m in maven-compiler-plugin?

java - maven 中的配置文件 - 选择要构建的文件取决于 maven 中的配置文件

android - Gradle 在 Android Studio 中找不到属性文件的属性

java - 在回调中创建 Room Database 实例或使用该数据库的成员变量

java - Runnable 中的 AsyncHttpClient

java - JpaRepository findAll 返回空列表

将 sourceCompatibility 和 targetCompatibility 从 1.8 更改为 13 时,任务 ‘:test’ 的 Gradle 执行失败

android - 我正在使用android studio 4.0并遇到错误消息无法加载包装器属性