好的,我有一个 java 6 项目,在 mac high sierra 中,项目具有 mongo 依赖性。
repositories {
mavenCentral()
}
dependencies {
compile 'org.mongodb:mongo-java-driver:2.14.3'
}
我在使用 gradle 构建它时遇到 ssl 错误,如下所示:
失败:构建失败,出现异常。
- 出了什么问题:
无法解析配置“:runtime”的所有依赖项。
Could not resolve org.mongodb:mongo-java-driver:2.14.3. Required by: :buildSrc:unspecified Could not GET 'https://repo1.maven.org/maven2/org/mongodb/mongo-java-driver/2.14.3/mongo-java-driver-2.14.3.pom'. peer not authenticated
org.gradle.api.artifacts.ResolveException:无法解析配置“:runtime”的所有依赖项。 ...
引起:org.gradle.internal.resource.transport.http.HttpRequestException:无法获取'https://repo1.maven.org/maven2/org/mongodb/mongo-java-driver/2.14.3/mongo-java-driver-2.14.3.pom '. ...
引起:javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated 在 com.sun.net.ssl.internal.ssl.SSLSessionImpl.getPeerCertificates(SSLSessionImpl.java:352)
我尝试将安全证书导入 cacerts,但这并没有成功。
#from /Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home//lib/security/
openssl s_client -showcerts -connect repo1.maven.org:443 </dev/null 2>/dev/null|openssl x509 -outform PEM >mavencert.pem
# from ~
$JAVA_HOME/bin/keytool -import -alias mavencert -keystore cacerts -file $JAVA_HOME/lib/security/mavencert.pem
# enter password: changeit
升级到 java 的 never 版本是不可能的。 请帮忙。
最佳答案
连接到 https://repo1.maven.org使用 Java 6 失败,因为您安装的 Java 版本不支持 TLS1.2 和 repo1.maven.org only supports TLS 1.2连接。
如果您真的想继续使用 Java 6,则需要安装 Java SE Development Kit 6、Update 111 或更新版本。
恕我直言,您应该删除 Java 6(它已过时且不安全)并安装当前的 Oracle Java 版本。我假设您的版本是 Apple 提供的版本 - AFAIK Apple 已停止支持其 Java 版本。因此,您不应再使用它。
关于java 6 -> mongodb maven 依赖错误 : peer not authenticated,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51883427/