在 Eclipse 中导入 Gradle 项目时对等体未通过身份验证

Posted

技术标签:

【中文标题】在 Eclipse 中导入 Gradle 项目时对等体未通过身份验证【英文标题】:Peer not authenticated while importing Gradle project in eclipse 【发布时间】:2014-05-18 05:52:16 【问题描述】:

当我在 eclipse 中导入 gradle 项目时,它给了我这个错误。

FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring root project 'test'.
> Could not resolve all dependencies for configuration ':classpath'.
   > Could not resolve de.richsource.gradle.plugins:gwt-gradle-plugin:0.3.
     Required by:
         :test:unspecified
      > Could not GET 'https://github.com/steffenschaefer/gwt-gradle-plugin/raw/maven-repo/de/richsource/gradle/plugins/gwt-gradle-plugin/0.3/gwt-gradle-plugin-0.3.pom'.
         > peer not authenticated

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

我通过代理连接使用互联网。如果这是问题所在,那么在 eclipse 中指定代理设置的位置。在General-->网络连接中,代理设置已经存在

请帮忙。

【问题讨论】:

【参考方案1】:

注意:在执行这些步骤之前,请确保服务器是可信赖的。

如果您遇到任何其他类似的错误:

 Could not GET 'https://some_server.com/some/path/some.pom'.
     > peer not authenticated

那你需要导入证书:

在您喜欢的浏览器中打开“https://some_server.com/some/path/some.pom” 使用Steps to export cert from a web site 导出证书 将 cer 复制到 JDK_HOME/jre/lib/security 文件夹中 打开一个shell并转到JDK_HOME/jre/lib/security文件夹 然后将 cer 导入到 java 中使用
keytool -import -alias <the short name of the server> -file <cert_file_name_you_exported.cer> -keystore cacerts -storepass changeit

它会提示你导入证书,输入yes然后回车。

然后重新启动你的 Eclipse 并尝试构建项目。

【讨论】:

做到了。它仍然给出同样的错误。导入证书:( 是的。构建路径没问题。有两个证书可以导入吗? 看,如果你的构建路径引用了 JRE,你必须将证书导入 JRE/lib/security/cacerts 是的,已将其添加到 cacerts。构建路径引用了 JRE。还是一样的问题 在 OSX 上。不得不sudo keytool ...【参考方案2】:

按照上述答案中的建议导入证书后,编辑您的 gradle.properties 文件并插入以下行(记住您的代理设置):

HTTPS:

systemProp.https.proxyHost=www.somehost.org
systemProp.https.proxyPort=8080

HTTP:

systemProp.http.proxyHost=www.somehost.org
systemProp.http.proxyPort=8080

【讨论】:

他们收到“Peer not authenticated”错误意味着他们已经能够直接访问 repo 服务器,或者他们已经配置了代理设置。 这对我有用,我收到 peer not auth 错误,并注意到我设置了 http 代理但没有设置 https,将 https 代理设置为与 http 相同的解决了问题。【参考方案3】:

在 build.gradle 中将您的存储库更改为以下内容

repositories 
    maven  
        url "http://repo1.maven.org/maven2"
    

【讨论】:

似乎 maven repo 不再允许使用 http。我收到 501 错误:需要 HTTPS【参考方案4】:

ANSWER#2:在两个负标记后提供正确的修复

对*** build.gradle 文件进行此更改。

// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript 
    repositories 
        //jcenter()
        jcenter 
            url "http://jcenter.bintray.com/"  <=THIS IS THE LINE THAT MAKES THE DIFFERENCE
        
    


allprojects 
    repositories 
        //jcenter()
        jcenter 
            url "http://jcenter.bintray.com/" <=THIS IS THE LINE THAT MAKES THE DIFFERENCE
        
    

ANSWER#1(虽然不接受但想保留这个)

如果您看到“peer not authenticated 错误,这并不一定意味着应用程序没有持有有效的证书。这也可能意味着防火墙、负载平衡器或 Web 服务器正在重置连接。尝试(重新) 以Administator 权限启动应用程序。

在 Windows 上:

确保您拥有管理员权限。 右键单击应用程序图标 -> 选择“以管理员身份运行”

在 Linux 上:

确保您具有 root 访问权限。 输入sudo "app execution script name"

【讨论】:

在机器上以 admin/sudo 身份运行如何为您提供远程 Web 服务器或负载均衡器的提升权限? 它不授予远程服务器的权限。您应该阅读证书出现的 HTTPS 身份验证过程。只能使用管理员权限访问证书存储位置,因此远程服务器无法验证客户端。我希望现在很清楚。 我遇到了同样的问题。从jcenter.bintray.com 导入证书后,可以下载所有 .pom 文件。但是,一旦脚本开始下载 .jar 文件,我就再次收到“peer not authenticated”错误。但是在我如上所述编辑了 build.gradle 文件后,这个问题就得到了解决。 这个答案让我走了!谢谢。但我想知道,不是为我的每个项目编辑 build.gradle,而是 gradle() 的默认 gradle 信息驻留在哪里?谢谢 见***.com/questions/37284472/…。希望能得到答案。【参考方案5】:

我尝试修改存储库并将cer导入java,但都失败了,然后我将我的jdk版本从1.8.0_66升级到1.8.0_74,gradle构建成功。

【讨论】:

【参考方案6】:

从 java7 升级到 java8 对我有用。

【讨论】:

【参考方案7】:

我正在使用带有 Linux (Ubuntu 14.04 LTS) 的 android studio 1.51 并收到相同的错误消息:

Error:A problem occurred configuring project ':app'.
> Could not resolve all dependencies for configuration ':app:_debugCompile'.
   > Could not resolve com.github.PhilJay:MPAndroidChart:v2.1.6.
     Required by:
         dbtraining-dbtrainingandroidapp-517de26197d8:app:unspecified
      > Could not resolve com.github.PhilJay:MPAndroidChart:v2.1.6.
         > Could not get resource 'https://jitpack.io/com/github/PhilJay/MPAndroidChart/v2.1.6/MPAndroidChart-v2.1.6.pom'.
            > Could not GET 'https://jitpack.io/com/github/PhilJay/MPAndroidChart/v2.1.6/MPAndroidChart-v2.1.6.pom'.
               > peer not authenticated

我尝试移动maven url "https://jitpack.io" ,将其设置为http而不是https,激活“自动接受不可信证书”,手动添加ssl证书......但仍然没有运气。

解决方案是从 OpenJDK 7 切换到 Oracle JDK 8:

    从 Oracle 下载了 JDK 的文件,我拿了 tarball (jdk-8u101-linux-x64.tar.gz) - http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 解压文件。文件夹名称为jdk1.8.0_101 现在切换到目录/opt/(nautilus 热键:CTRL+L)并创建一个新文件夹 “Oracle_Java”。也许这需要root访问权限,所以打开nautilus 来自sudo nautilus 将文件夹jdk1.8.0_101复制到/opt/Oracle_Java 来自https://wiki.ubuntuusers.de/Java/Installation/Oracle_Java/Java_8/#Java-8-JDK 的说明:不要忘记将路径中的版本占位符替换为您的版本
sudo update-alternatives --install "/usr/bin/java" "java" "/opt/Oracle_Java/jdk1.8.0_VERSION/bin/java" 1
sudo update-alternatives --install "/usr/bin/javac" "javac" "/opt/Oracle_Java/jdk1.8.0_VERSION/bin/javac" 1
sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/opt/Oracle_Java/jdk1.8.0_VERSION/bin/javaws" 1
sudo update-alternatives --install "/usr/bin/jar" "jar" "/opt/Oracle_Java/jdk1.8.0_VERSION/bin/jar" 1 

sudo update-alternatives --set "java" "/opt/Oracle_Java/jdk1.8.0_VERSION/bin/java"
sudo update-alternatives --set "javac" "/opt/Oracle_Java/jdk1.8.0_VERSION/bin/javac"
sudo update-alternatives --set "javaws" "/opt/Oracle_Java/jdk1.8.0_VERSION/bin/javaws"
sudo update-alternatives --set "jar" "/opt/Oracle_Java/jdk1.8.0_VERSION/bin/jar"
    您可以使用命令java -version 在终端中签入 if 您的安装成功。 现在回到android studio并打开project structure 按热键 CTRL+SHIFT+ALT+S 并转到 SDK Location 窗口。这里可以设置JDK的路径,例如 /opt/Oracle_Java/jdk1.8.0_101

就是这样! :)

【讨论】:

【参考方案8】:

我遇到了这个错误,它是由于 *** 代理问题而发生的。我禁用了我的 *** 客户端,之后一切正常。我使用了这个命令(在 Mac 上):

sudo /opt/cisco/anyconnect/bin/acwebsecagent -disablesvc -websecurity

【讨论】:

【参考方案9】:

升级到最新版本的 gradle 为我解决了这个问题。

    gradle-wrapper.properties 中更新distributionUrl 以使用最新版本。 更新build.gradle 中的gradleVersion 以匹配该版本。

【讨论】:

【参考方案10】:

我有一个奇怪的情况,我不得不改变 jcenter 和 maven 的顺序来摆脱错误

不工作

allprojects 
repositories 
    jcenter()
    maven 
        url "https://maven.google.com"
    
    maven  url "https://jitpack.io" 

    

工作

allprojects 
repositories 
    maven 
        url "https://maven.google.com"
    
    jcenter()
    maven  url "https://jitpack.io" 

    

【讨论】:

【参考方案11】:

一个旧的,但是因为我刚刚在安装 Eclipse 4.11 时遇到了这个问题...

显然 JDK11 存在可能导致此问题的问题 (https://github.com/spring-projects/sts4/issues/208#issuecomment-469661129)。当我恢复到现有的 JDK8 安装时,我不再看到错误。

【讨论】:

【参考方案12】:

我发现由于我的 Artifactory 服务器出现暂时性网络问题而导致此操作失败。其他修复对我不起作用,但只需重试构建即可。

【讨论】:

以上是关于在 Eclipse 中导入 Gradle 项目时对等体未通过身份验证的主要内容,如果未能解决你的问题,请参考以下文章

AS中导入eclipse项目时出现的问题

如何在intellij IDEA中导入ECLIPSE的android项目

④---在Eclipse中导入GIT项目

如何在 Android Studio 中导入现有项目时设置 gradle home

如何在 Eclipse IDE 中导出 Spring Boot Gradle 项目?

如何在 Eclipse 中导入 facebook sdk,版本 4.2.0?