elasticsearch 用Gradle构建失败
在Ubuntu上,Gradle2.10版 我下载了elasticsearch并希望构建
elasticsearch 用Gradle构建失败,
elasticsearch,gradle,
elasticsearch,Gradle,在Ubuntu上,Gradle2.10版 我下载了elasticsearch并希望构建 gradle build 结果: A problem occurred configuring root project 'buildSrc'. > Could not resolve all dependencies for configuration ':classpath'. > Could not resolve com.bmuschko:gradle-nexus-plugin:2
gradle build
结果:
A problem occurred configuring root project 'buildSrc'.
> Could not resolve all dependencies for configuration ':classpath'.
> Could not resolve com.bmuschko:gradle-nexus-plugin:2.3.1.
Required by:
:buildSrc:unspecified
> Could not resolve com.bmuschko:gradle-nexus-plugin:2.3.1.
> Could not get resource 'https://jcenter.bintray.com/com/bmuschko/gradle-nexus-plugin/2.3.1/gradle-nexus-plugin-2.3.1.pom'.
> Could not GET 'https://jcenter.bintray.com/com/bmuschko/gradle-nexus-plugin/2.3.1/gradle-nexus-plugin-2.3.1.pom'.
> peer not authenticated
如果我只是尝试通过浏览器或wget下载这个pom,访问它是没有问题的
我发现了许多类似的问题/帖子,但到目前为止,我无法解决这一问题。我必须怎么做才能解决这个问题?错误
对等方未经身份验证
意味着https证书验证失败。就像浏览器警告您证书验证失败一样。例如:
在现实世界中,这意味着无法验证您下载依赖项的网站的真实性,并且您可能正在下载篡改或恶意内容
但实际上,您更可能看到此错误,因为您的公司代理喜欢篡改https证书以检查所有流量。如果您的错误是由corp代理引起的,那么正确的修复方法是使用JDK分发的keytool
实用程序将代理证书导入信任库。见和
如果不是由于公司代理,您应该调查证书验证失败的原因。也许你的认证机构名单已经过时了。也许有人真的在骗你。可能您试图访问的站点的证书已过期,但他们尚未续订(对于高度可见的公共站点,这种情况不太可能发生,但也可能发生)
解决方法是禁用安全检查,或者完全放弃安全性,转而使用http。打个愚蠢的比方,这就像解雇了你的保镖,因为他们说你不应该进入这个阴暗的地方。然而,我必须承认,这在某些情况下仍然有用。因此,与上面的图片所抛出的警告相同:“您不应该继续”:
幸运的是,jCenter仍然可以通过普通的旧http使用。在buildSrc/build.gradle
中,从
jCenter()
到
您应该主要在buildScript
部分在线执行此操作,以消除插件下载错误,但您也应该在代码依赖项的行中进行此更改。在我的特定案例(Ubuntu)中,此错误可以通过
sudo update-ca-certificates -f
我在(感谢vincent)上的另一个问题上发现了这个建议您能展示一下您的
build.gradle
?看起来您需要向nexus插件库添加凭据build.gradle
来自此处:。需要使用凭据才能访问插件,这听起来不太正确。同样如上所述,wget
-ing在没有代理的情况下也可以工作。您是否支持代理?哇,谢谢您提供的详细信息。这确实解决了该插件的检索问题。但这可能是您建议的,对于不同的包,同样的问题再次出现。我还得做更多的研究。
sudo update-ca-certificates -f