gpt4 book ai didi

在 ubuntu 中下载 gradle 插件时出现 Java 安全问题

转载 作者:太空宇宙 更新时间:2023-11-03 14:32:49 32 4
gpt4 key购买 nike

我们的 gradle 构建使用 SVN 工具插件,在 Windows 上没有问题。使用构建问题的构建脚本部分如下所示:

buildscript {
repositories {
maven {
url "https://plugins.gradle.org/m2/"
}
}
dependencies {
classpath "at.bxm.gradleplugins:gradle-svntools-plugin:2.2.1"
}
}
apply plugin: "at.bxm.svntools"

我尝试在 ubuntu Ubuntu 18.04 LTS 上运行相同的构建,但收到此错误消息:

Could not resolve all artifacts for configuration ':classpath'.
> Could not resolve at.bxm.gradleplugins:gradle-svntools-plugin:2.2.1.
Required by:
project :
> Could not resolve at.bxm.gradleplugins:gradle-svntools-plugin:2.2.1.
> Could not get resource 'https://plugins.gradle.org/m2/at/bxm/gradleplugins/gradle-svntools-plugin/2.2.1/gradle-svntools-plugin-2.2.1.pom'.
> Could not GET 'https://plugins.gradle.org/m2/at/bxm/gradleplugins/gradle-svntools-plugin/2.2.1/gradle-svntools-plugin-2.2.1.pom'.
> java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty

我在两台机器上使用相同版本的 Java 和 Gradle。 StackTrace 显示 SSL 证书存在一些问题。我应该怎么做才能在我的脚本中使用 gradle 插件存储库?

Caused by: org.gradle.internal.resource.transport.http.HttpRequestException: Could not GET 'https://plugins.gradle.org/m2/at/bxm/gradleplugins/gradle-svntools-plugin/2.2.1/gradle-svntools-plugin-2.2.1.pom'.
at org.gradle.internal.resource.transport.http.HttpClientHelper.performRequest(HttpClientHelper.java:96)
at org.gradle.internal.resource.transport.http.HttpClientHelper.performRawGet(HttpClientHelper.java:80)
at org.gradle.internal.resource.transport.http.HttpClientHelper.performGet(HttpClientHelper.java:84)
at org.gradle.internal.resource.transport.http.HttpResourceAccessor.openResource(HttpResourceAccessor.java:43)
at org.gradle.internal.resource.transport.http.HttpResourceAccessor.openResource(HttpResourceAccessor.java:29)
at org.gradle.internal.resource.transfer.DefaultExternalResourceConnector.openResource(DefaultExternalResourceConnector.java:56)
at org.gradle.internal.resource.transfer.ProgressLoggingExternalResourceAccessor.openResource(ProgressLoggingExternalResourceAccessor.java:37)
at org.gradle.internal.resource.transfer.AccessorBackedExternalResource.withContentIfPresent(AccessorBackedExternalResource.java:130)
at org.gradle.internal.resource.BuildOperationFiringExternalResourceDecorator$11.call(BuildOperationFiringExternalResourceDecorator.java:237)
at org.gradle.internal.resource.BuildOperationFiringExternalResourceDecorator$11.call(BuildOperationFiringExternalResourceDecorator.java:229)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:331)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:321)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:185)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:107)
at org.gradle.internal.operations.DelegatingBuildOperationExecutor.call(DelegatingBuildOperationExecutor.java:36)
at org.gradle.internal.resource.BuildOperationFiringExternalResourceDecorator.withContentIfPresent(BuildOperationFiringExternalResourceDecorator.java:229)
at org.gradle.internal.resource.transfer.DefaultCacheAwareExternalResourceAccessor.copyToCache(DefaultCacheAwareExternalResourceAccessor.java:199)
... 153 more
Caused by: javax.net.ssl.SSLException: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
at org.apache.http.conn.ssl.SSLConnectionSocketFactory.createLayeredSocket(SSLConnectionSocketFactory.java:396)
at org.apache.http.conn.ssl.SSLConnectionSocketFactory.connectSocket(SSLConnectionSocketFactory.java:355)
at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:142)
at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:373)
at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:381)
at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:237)
at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:185)
at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89)
at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:111)
at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
at org.gradle.internal.resource.transport.http.HttpClientHelper.performHttpRequest(HttpClientHelper.java:148)
at org.gradle.internal.resource.transport.http.HttpClientHelper.performHttpRequest(HttpClientHelper.java:126)
at org.gradle.internal.resource.transport.http.HttpClientHelper.executeGetOrHead(HttpClientHelper.java:103)
at org.gradle.internal.resource.transport.http.HttpClientHelper.performRequest(HttpClientHelper.java:94)
... 169 more
Caused by: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
... 184 more
Caused by: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
... 184 more

最佳答案

问题是 cacerts。仅仅删除 OpenJDK 并安装 oracle JDK8 是不够的。您应该更新/etc/ssl/certs/java/cacerts(删除 cacerts 并从 {ORACLE_JDK_HOME}/jre/lib/security/cacerts 复制新的)。我第一次这样做是为了跑

update-ca-certificates --fresh

之后但它不起作用,所以下次我再次复制证书时没有运行 update-ca-certificates --fresh 并且它起作用了

关于在 ubuntu 中下载 gradle 插件时出现 Java 安全问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51044678/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com