在 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 项目时对等体未通过身份验证的主要内容,如果未能解决你的问题,请参考以下文章
如何在intellij IDEA中导入ECLIPSE的android项目
如何在 Android Studio 中导入现有项目时设置 gradle home