我正在使用Minecraft Forge进行改装。对于那些不知道Forge是什么的人来说,这是一个程序,可以防止mods破坏Minecraft源代码并帮助mods共存。它还包含一个开发工具包,因此Java程序员可以制作自己的mod(我假设您知道Minecraft是什么)。我最近获得了Forge的新版本,并试图创建一个新的工作区。但是,每当我在Windows命令提示符下运行以下命令时:
gradlew setupDecompWorkspace
我得到以下输出:
Downloading https://services.gradle.org/distributions/gradle-2.14-bin.zip
Exception in thread "main" javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at java.base/sun.security.ssl.Alerts.getSSLException(Alerts.java:198)
at java.base/sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1969)
at java.base/sun.security.ssl.Handshaker.fatalSE(Handshaker.java:318)
at java.base/sun.security.ssl.Handshaker.fatalSE(Handshaker.java:312)
at java.base/sun.security.ssl.ClientHandshaker.checkServerCerts(ClientHandshaker.java:1846)
at java.base/sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1655)
at java.base/sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:260)
at java.base/sun.security.ssl.Handshaker.processLoop(Handshaker.java:1086)
at java.base/sun.security.ssl.Handshaker.processRecord(Handshaker.java:1020)
at java.base/sun.security.ssl.SSLSocketImpl.processInputRecord(SSLSocketImpl.java:1137)
at java.base/sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1074)
at java.base/sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:973)
at java.base/sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1402)
at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1429)
at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1413)
at java.base/sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:567)
at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185)
at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1563)
at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1491)
at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:236)
at org.gradle.wrapper.Download.downloadInternal(Download.java:58)
at org.gradle.wrapper.Download.download(Download.java:44)
at org.gradle.wrapper.Install$1.call(Install.java:59)
at org.gradle.wrapper.Install$1.call(Install.java:46)
at org.gradle.wrapper.ExclusiveFileAccessManager.access(ExclusiveFileAccessManager.java:65)
at org.gradle.wrapper.Install.createDist(Install.java:46)
at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:126)
at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:61)
Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at java.base/sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:385)
at java.base/sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:290)
at java.base/sun.security.validator.Validator.validate(Validator.java:264)
at java.base/sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:343)
at java.base/sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:226)
at java.base/sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:133)
at java.base/sun.security.ssl.ClientHandshaker.checkServerCerts(ClientHandshaker.java:1825)
... 23 more
Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at java.base/sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder.java:141)
at java.base/sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:126)
at java.base/java.security.cert.CertPathBuilder.build(CertPathBuilder.java:297)
at java.base/sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:380)
... 29 more
我尝试运行此命令来解决问题:
gradlew clean
但是我得到了完全相同的错误!
我的JAVA_HOME变量设置为C:\ Program Files \ Java \ jdk-9。
编辑:我按照你的建议将https更改为gradle属性文件中的http,它实际上已经开始工作了。但是,我现在收到此错误:
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.gradle.internal.reflect.JavaMethod
(file:/C:/Users/James/.gradle/wrapper/dists/gradle-2.14-
bin/ahcidmhfbcpw2l6c6ohng55pk/gradle-2.14/lib/gradle-base-services-2.14.jar)
to method java.lang.ClassLoader.getPackages()
WARNING: Please consider reporting this to the maintainers of
org.gradle.internal.reflect.JavaMethod
WARNING: Use --illegal-access=warn to enable warnings of further illegal
reflective access operations
WARNING: All illegal access operations will be denied in a future release
To honour the JVM settings for this build a new JVM will be forked. Please
consider using the daemon:
https://docs.gradle.org/2.14/userguide/gradle_daemon.html.
FAILURE: Build failed with an exception.
* What went wrong:
A problem occurred configuring root project 'forge'.
> Could not resolve all dependencies for configuration ':classpath'.
> Could not resolve org.ow2.asm:asm-debug-all:5.1.
Required by:
:forge:unspecified > net.minecraftforge.gradle:ForgeGradle:2.2-SNAPSHOT
> Could not resolve org.ow2.asm:asm-debug-all:5.1.
> Could not get resource 'https://jcenter.bintray.com/org/ow2/asm/asm-debug-all/5.1/asm-debug-all-5.1.pom'.
> Could not GET 'https://jcenter.bintray.com/org/ow2/asm/asm-debug-all/5.1/asm-debug-all-5.1.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 com.google.guava:guava:18.0.
Required by:
:forge:unspecified > net.minecraftforge.gradle:ForgeGradle:2.2-SNAPSHOT
> Could not resolve com.google.guava:guava:18.0.
> Could not get resource 'https://jcenter.bintray.com/com/google/guava/guava/18.0/guava-18.0.pom'.
> Could not HEAD 'https://jcenter.bintray.com/com/google/guava/guava/18.0/guava-18.0.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 net.sf.opencsv:opencsv:2.3.
Required by:
:forge:unspecified > net.minecraftforge.gradle:ForgeGradle:2.2-SNAPSHOT
> Could not resolve net.sf.opencsv:opencsv:2.3.
> Could not get resource 'https://jcenter.bintray.com/net/sf/opencsv/opencsv/2.3/opencsv-2.3.pom'.
> Could not HEAD 'https://jcenter.bintray.com/net/sf/opencsv/opencsv/2.3/opencsv-2.3.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 com.cloudbees:diff4j:1.1.
Required by:
:forge:unspecified > net.minecraftforge.gradle:ForgeGradle:2.2-SNAPSHOT
> Could not resolve com.cloudbees:diff4j:1.1.
> Could not get resource 'https://jcenter.bintray.com/com/cloudbees/diff4j/1.1/diff4j-1.1.pom'.
> Could not HEAD 'https://jcenter.bintray.com/com/cloudbees/diff4j/1.1/diff4j-1.1.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 com.github.abrarsyed.jastyle:jAstyle:1.3.
Required by:
:forge:unspecified > net.minecraftforge.gradle:ForgeGradle:2.2-SNAPSHOT
> Could not resolve com.github.abrarsyed.jastyle:jAstyle:1.3.
> Could not get resource 'https://jcenter.bintray.com/com/github/abrarsyed/jastyle/jAstyle/1.3/jAstyle-1.3.pom'.
> Could not HEAD 'https://jcenter.bintray.com/com/github/abrarsyed/jastyle/jAstyle/1.3/jAstyle-1.3.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 net.sf.trove4j:trove4j:2.1.0.
Required by:
:forge:unspecified > net.minecraftforge.gradle:ForgeGradle:2.2-SNAPSHOT
> Could not resolve net.sf.trove4j:trove4j:2.1.0.
> Could not get resource 'https://jcenter.bintray.com/net/sf/trove4j/trove4j/2.1.0/trove4j-2.1.0.pom'.
> Could not HEAD 'https://jcenter.bintray.com/net/sf/trove4j/trove4j/2.1.0/trove4j-2.1.0.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 com.github.jponge:lzma-java:1.3.
Required by:
:forge:unspecified > net.minecraftforge.gradle:ForgeGradle:2.2-SNAPSHOT
> Could not resolve com.github.jponge:lzma-java:1.3.
> Could not get resource 'https://jcenter.bintray.com/com/github/jponge/lzma-java/1.3/lzma-java-1.3.pom'.
> Could not HEAD 'https://jcenter.bintray.com/com/github/jponge/lzma-java/1.3/lzma-java-1.3.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 com.nothome:javaxdelta:2.0.1.
Required by:
:forge:unspecified > net.minecraftforge.gradle:ForgeGradle:2.2-SNAPSHOT
> Could not resolve com.nothome:javaxdelta:2.0.1.
> Could not get resource 'https://jcenter.bintray.com/com/nothome/javaxdelta/2.0.1/javaxdelta-2.0.1.pom'.
> Could not HEAD 'https://jcenter.bintray.com/com/nothome/javaxdelta/2.0.1/javaxdelta-2.0.1.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 com.google.code.gson:gson:2.2.4.
Required by:
:forge:unspecified > net.minecraftforge.gradle:ForgeGradle:2.2-SNAPSHOT
> Could not resolve com.google.code.gson:gson:2.2.4.
> Could not get resource 'https://jcenter.bintray.com/com/google/code/gson/gson/2.2.4/gson-2.2.4.pom'.
> Could not HEAD 'https://jcenter.bintray.com/com/google/code/gson/gson/2.2.4/gson-2.2.4.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 com.github.tony19:named-regexp:0.2.3.
Required by:
:forge:unspecified > net.minecraftforge.gradle:ForgeGradle:2.2-SNAPSHOT
> Could not resolve com.github.tony19:named-regexp:0.2.3.
> Could not get resource 'https://jcenter.bintray.com/com/github/tony19/named-regexp/0.2.3/named-regexp-0.2.3.pom'.
> Could not HEAD 'https://jcenter.bintray.com/com/github/tony19/named-regexp/0.2.3/named-regexp-0.2.3.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.apache.httpcomponents:httpclient:4.3.3.
Required by:
:forge:unspecified > net.minecraftforge.gradle:ForgeGradle:2.2-SNAPSHOT
> Could not resolve org.apache.httpcomponents:httpclient:4.3.3.
> Could not get resource 'https://jcenter.bintray.com/org/apache/httpcomponents/httpclient/4.3.3/httpclient-4.3.3.pom'.
> Could not HEAD 'https://jcenter.bintray.com/org/apache/httpcomponents/httpclient/4.3.3/httpclient-4.3.3.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.apache.httpcomponents:httpmime:4.3.3.
Required by:
:forge:unspecified > net.minecraftforge.gradle:ForgeGradle:2.2-SNAPSHOT
> Could not resolve org.apache.httpcomponents:httpmime:4.3.3.
> Could not get resource 'https://jcenter.bintray.com/org/apache/httpcomponents/httpmime/4.3.3/httpmime-4.3.3.pom'.
> Could not HEAD 'https://jcenter.bintray.com/org/apache/httpcomponents/httpmime/4.3.3/httpmime-4.3.3.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: 48.897 secs
看起来“再次找不到请求目标的有效证书路径”错误。我尝试过使用该命令的许多不同版本,包括:
gradlew setupDecompWorkspace --refresh-dependencies
gradlew setupDecompWorkspace eclipse
gradlew setupDecompWorkspace eclipse --refresh-depencencies
这些都导致了相同的构建失败。有什么建议吗?
答案 0 :(得分:1)
这可能是由于使用了没有最新SSL证书的Java过时版本引起的。参见this thread。
答案 1 :(得分:0)
通过选中“[v]覆盖工作区设置”然后单击(*)特定Gradle版本4.3.1,手动将“Gradle用户主页”设置到哪里,我在Eclipse中创建Gradle项目时遇到了类似的问题我的gradle 4.3.1版本存储在硬盘驱动器上。点击“[v]离线模式”