bri*_*akh 4 java macos ssl-certificate gradle java-8
我正在尝试根据他们的说明运行lenskit-hello。当我运行时./gradlew build,我收到错误
(base) Briennas-MBP:lenskit-hello-master briennakh$ ./gradlew build
:compileJava
FAILURE: Build failed with an exception.
* What went wrong:
Could not resolve all dependencies for configuration ':compileClasspath'.
> Could not resolve org.lenskit:lenskit-all:3.0-M3.
Required by:
:lenskit-hello-master 4.50.57 AM:unspecified
> Could not resolve org.lenskit:lenskit-all:3.0-M3.
> Could not get resource 'https://repo1.maven.org/maven2/org/lenskit/lenskit-all/3.0-M3/lenskit-all-3.0-M3.pom'.
> Could not GET 'https://repo1.maven.org/maven2/org/lenskit/lenskit-all/3.0-M3/lenskit-all-3.0-M3.pom'.
> sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
> Could not resolve org.lenskit:lenskit-all:3.0-M3.
> Could not get resource 'https://jcenter.bintray.com/org/lenskit/lenskit-all/3.0-M3/lenskit-all-3.0-M3.pom'.
> Could not GET 'https://jcenter.bintray.com/org/lenskit/lenskit-all/3.0-M3/lenskit-all-3.0-M3.pom'.
> sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
BUILD FAILED
Total time: 4.009 secs
Run Code Online (Sandbox Code Playgroud)
我在 MacOS Mojave 10.14.6 上使用 Java 1.8.0_241(并且只安装了那个)。我已经安装了最新的安全更新,然后重新启动了我的计算机。我已经在我的常规 wifi 和我手机的热点上尝试过这个。
我按照此处接受的答案中的说明,从两者下载安全证书,https://repo1.maven.org/maven2/org/lenskit/lenskit-all/3.0-M2/lenskit-all-3.0-M2.pom并https://oss.sonatype.org/content/repositories/snapshots/org/lenskit/lenskit-all/3.0-M2/lenskit-all-3.0-M2.pom通过以下命令将它们添加到密钥库(仅显示两个中的一个):
keytool -import -alias maven -file /Users/briennakh/Downloads/maven.cer -keystore
/Library/Java/JavaVirtualMachines/jdk1.8.0_241.jdk/Contents/Home/jre/lib/security/cacerts
Run Code Online (Sandbox Code Playgroud)
那么如果我检查
keytool -list -keystore /Library/Java/JavaVirtualMachines/jdk1.8.0_241.jdk/Contents/Home/jre/lib/security/cacerts | grep maven
Run Code Online (Sandbox Code Playgroud)
它表明我的证书已添加,maven, Mar 17, 2020, trustedCertEntry但我在运行时仍然遇到相同的错误./gradlew build?
我还检查openssl x509 -in /Users/briennakh/Downloads/maven.pem -text以确保证书看起来没问题。
该SSL 证书一开始不是自签名的,因此不需要手动添加。尝试重新安装 Java 或$JAVA_HOME使用默认cacerts文件将备用安装位置设置为。有些东西似乎坏了,因为它不应该拒绝repo1.maven.org. ls -la $JAVA_HOME/jre/lib/security/cacerts说cacerts应该有大约 114757 个字节。如果您位于防火墙后面,则可能需要为 Gradle配置代理。
这应该尝试 SSL 会话(不是通过 Java):
$ openssl s_client -connect repo1.maven.org:443
Run Code Online (Sandbox Code Playgroud)
distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-all.zip
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5237 次 |
| 最近记录: |