Gradle构建失败[无法解析配置的所有依赖项':compile'。]

时间:2014-08-11 12:29:40

标签: java eclipse build.gradle

我正在尝试这么多天来解决这个例外,跟着很多博客并找不到解决方案。当我通过给出jettyRun作为命令enter image description here

来运行bundle.gradle时
I am getting an exception 



    **FAILURE: Build failed with an exception.

        * What went wrong:
        Could not resolve all dependencies for configuration ':compile'.
        > Could not resolve javax.servlet:servlet-api:2.5.
          Required by:
              :1-SimpleServlet:unspecified
           > Could not GET 'http://repo1.maven.org/maven2/javax/servlet/servlet-api/2.5/servlet-api-2.5.pom'.
              > Connection to http://repo1.maven.org refused
        > Could not resolve org.apache.commons:commons-io:1.3.2.
          Required by:
              :1-SimpleServlet:unspecified
           > Could not GET 'http://repo1.maven.org/maven2/org/apache/commons/commons-io/1.3.2/commons-io-1.3.2.pom'.
              > Connection to http://repo1.maven.org refused**

8 个答案:

答案 0 :(得分:14)

真正的错误是:

Connection to http://repo1.maven.org refused

Gradle需要下载错误消息中列出的依赖项才能编译项目。

您可能位于防火墙后面,或者您的互联网连接无法正常工作。您需要确保Gradle可以访问http://repo1.maven.org

注意:可以使用浏览器访问Maven Central(http://repo1.maven.org)。如果您看到消息"已禁用浏览此目录"这意味着您的浏览器可以连接到服务器(错误是我的Maven Central的特殊消息,而不是标准的HTTP错误消息)。

如果你看到这个但是Maven或Gradle失败了,那么你需要检查你的浏览器/操作系统的代理设置并相应地配置你的工具。

相关:

答案 1 :(得分:6)

使用--refresh-dependencies切换为gradle,帮助我解决了这个问题。

答案 2 :(得分:1)

@Aaron Digulla说我有防火墙问题。

我遇到了 GSON依赖的问题,(希望它也能解决其他依赖性问题),这个答案解决了这个问题。 Stack Overflow Could not resolve all dependencies for configuration ':classpath'

@Kangars帖子: 这就是我在构建脚本和所有项目的 gradle.build 中的内容

buildscript {
repositories {
    jcenter {
        url "http://jcenter.bintray.com/"
    }
  }
}

allprojects {
repositories {
    jcenter {
        url "http://jcenter.bintray.com/"
    }
  }
}

答案 3 :(得分:1)

这是因为互联网连接速度慢或您无法正确配置代理设置。 Gradle需要下载一些依赖项,如果它无法访问存储库,则会触发此错误。您所要做的就是检查您的互联网连接并确保gradle可以访问maven存储库。

答案 4 :(得分:0)

您似乎没有可用的互联网连接或未配置代理/防火墙。 请检查您是否可以从命令行或浏览器访问repo1.maven.org。

答案 5 :(得分:0)

我使用以下步骤进行修复。

  1. 转到命令提示符并设置java opts。

    SET JAVA_OPTS=-Dhttp.proxyHost=your_proxy_server_name -Dhttp.proxyPort=your_proxy_port -Dhttp.nonProxyHosts=127.0.0.1
    
  2. 然后构建Gradle应用程序,不再显示所有连接拒绝错误。

    gradle clean build distZip

答案 6 :(得分:0)

就我而言,当我将gradle版本从4.6更改为4.7时,问题已解决。

答案 7 :(得分:0)

根本原因 Connection to http://repo1.maven.org refused 表示构建失败,因为gradle无法从存储库中获取某些依赖项。

以下是您可能要尝试的原因和相关解决方案的列表:

  1. Internet连接问题-拥有良好的Internet速度和连接性
  2. 防火墙(系统或第三方)-确保防火墙未阻止对存储库的访问
  3. 在代理后面工作-Gradle proxy configuration
  4. 防火墙或与代理应用程序干涉的某些随机应用程序 1 -终止与代理应用程序干涉的进程
  5. 代理应用程序导致证书问题 2 -导入代理应用程序的证书

参考文献:

  1. Telerik forum's answer on how to fix internet connectivity issue while using Fiddler
  2. Telerik forum's answer on secure connection issue while using Fiddler