【问题标题】:Could not resolve all dependencies for configuration ':classpath'无法解析配置“:classpath”的所有依赖项
【发布时间】:2014-11-17 14:30:39
【问题描述】:

我似乎根本无法获得最新 gradle 的构建工具。我怀疑它与 gradle 的代理设置有关。我在网上看了一下,但似乎仍然找不到解决方案。我使用 gradle 2.1。

我使用这些设置在我的 /home/user/.gradle 文件夹中创建了 gradle.properties 文件。

systemProp.http.proxyHost=proxy systemProp.http.proxyPort=80 systemProp.http.proxyUser=我的用户名 systemProp.http.proxyPassword=密码

systemProp.https.proxyHost=proxy systemProp.https.proxyPort=80 systemProp.https.proxyUser=我的用户名 systemProp.https.proxyPassword=密码

这是我的全局 build.gradle

buildscript {
    repositories {
        mavenLocal()
        mavenCentral()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:0.13.0'
        classpath fileTree(dir: 'build-libs', include: '*.jar')
    }
}


allprojects {
    repositories {
        mavenCentral()
    }
}

这是我在运行gradlew时遇到的错误

Could not HEAD 'https://repo1.maven.org/maven2/com/android/tools/build/gradle/0.13.0/gradle-0.13.0.pom'.
peer not authenticated

我错过了什么?该 Maven 链接在浏览器中可以正常打开。

【问题讨论】:

  • 我的错误信息非常相似,但包含与 proguard 相关的错误。我发现我必须同时应用 @nabdreas 和 @אלהים 修复。此外,我必须将 testBuildType "proguard" 更改为 testBuildType "debug"

标签: android maven proxy gradle build-tools


【解决方案1】:

我在使用 GradleJenkins 上构建 Java 项目时遇到了类似的问题。

当我在 Jenkins 上运行构建时,有时会抛出以下错误:

22:37:05  + GRADLE_OPTS='-Xms8192M -Xmx8192M'
22:37:05  + gradle clean build '-Dorg.gradle.jvmargs=-XX:MaxPermSize=4096M -Xms4096M -Xmx8192M' --full-stacktrace
22:37:05  
22:37:05  Welcome to Gradle 5.6.4!
22:37:05  
22:37:05  Here are the highlights of this release:
22:37:05   - Incremental Groovy compilation
22:37:05   - Groovy compile avoidance
22:37:05   - Test fixtures for Java projects
22:37:05   - Manage plugin versions via settings script
22:37:05  
22:37:05  For more details see https://docs.gradle.org/5.6.4/release-notes.html
22:37:05  
22:37:05  Starting a Gradle Daemon (subsequent builds will be faster)
22:37:14  > Task :my-service:clean UP-TO-DATE
22:37:18  > Task :my-service:compileJava FAILED
22:37:18  
22:37:18  FAILURE: Build failed with an exception.
22:37:18  
22:37:18  * What went wrong:
22:37:18  Execution failed for task ':my-service:compileJava'.
22:37:18  > Could not resolve all files for configuration ':my:compileClasspath'.
22:37:18     > Could not download spring-boot-autoconfigure.jar (org.springframework.boot:spring-boot-autoconfigure:2.1.14.RELEASE)
22:37:18        > Could not get resource 'https://nexus.my-test.network/repository/maven-public/org/springframework/boot/spring-boot-autoconfigure/2.1.14.RELEASE/spring-boot-autoconfigure-2.1.14.RELEASE.jar'.
22:37:18           > Premature end of Content-Length delimited message body (expected: 1276879; received: 496657
22:37:18  
22:37:18  * Try:
22:37:18  Run with --info or --debug option to get more log output. Run with --scan to get full insights.

这是我修复它的方法

所以首先我查看了以前的构建,除了最后一个之外,它们都构建得很好,而且我们在构建过程中没有改变任何东西。

问题在于我们的 Nexus 人工制品服务器运行不正常。服务器有时会停止响应。

我刚刚重新启动服务器并重新尝试构建,它工作正常。

就是这样

【讨论】:

    【解决方案2】:

    确保 Build Tool 版本与 gradle 版本兼容,然后 使缓存无效并重新启动

    【讨论】:

      【解决方案3】:

      我将我的 android studio 更新到最新版本:Android Studio - 北极狐 | 2020.3.1 然后它显示了这个错误。要解决此错误,您必须按照以下步骤操作:

      文件>项目结构>项目

      1. 更改 Android Gradle 插件版本:7.0.0Gradle 版本:7.0.2
      2. 然后转到文件>设置>构建、执行、部署>构建工具>Gradle
      3. 如果是 1.8 版本,请将 Gradle JDK 更改为 11 版本
      4. 如果 Gradle 的通知弹出窗口已升级,则点击它并点击run selected steps
      5. 同步项目并在必要时重建您的项目。

      我希望它对你有用,稍后谢谢我。

      【讨论】:

        【解决方案4】:

        我基本上只是从 buildscript 块中的项目 gradle 存储库中删除了 jcenter(),因为我在我的应用程序 gradle 中声明了它。

        // Top-level build file where you can add configuration options common to all sub-projects/modules.
        
        buildscript {
            ext.kotlin_version = '1.3.72'
            repositories {
                google()
                mavenLocal()
                jcenter() //remove this line
        
        
            }
        

        【讨论】:

          【解决方案5】:

          在 lib 文件夹中添加你的 .aar 文件 只需将其添加到gradel中

              implementation fileTree(dir: "libs", include: ["*.aar"])
          

          【讨论】:

            【解决方案6】:

            你应该在 gradle/wrapper 文件夹中有 gradle-wrapper.properties。 确保您使用的是正确的分发 URL,并且是最新的。它应该看起来像这样:

            distributionBase=GRADLE_USER_HOME
            distributionPath=wrapper/dists
            distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-bin.zip
            zipStoreBase=GRADLE_USER_HOME
            zipStorePath=wrapper/dists
            

            【讨论】:

            • 经过数小时的试验,我无法相信在尝试了上述所有方法后,这为我解决了问题
            【解决方案7】:

            如果有人在将 android studio 更新到 4.2 后遇到此问题,则问题与 kotlin 版本有关。将 cotlin 版本行从 "ext.kotlin_version = "1.5.0-release-764" 更改为 "ext.kotlin_version = "1.5.0" 可能会解决您的问题。这是包含更多信息的链接:

            https://exerror.com/cant-create-new-kotlin-project-after-updating-to-android-studio-4-2/

            【讨论】:

              【解决方案8】:

              我将“build.gradle”中的 ext.kotlin_version 更改为前一个(从 1.5.0 回到 1.4.32),这对我有用。可能当前的 Gradle 版本不兼容。

              【讨论】:

                【解决方案9】:

                我安装了新的 Android Studio 并遇到了这个问题。除了下载更多的 Android SDK 版本之外,没有任何帮助: Added Android Q and Android Pie to downloaded and installed SDK

                【讨论】:

                  【解决方案10】:

                  是的,我不确定它是否对其他人有用,但对我有用。

                  我将 proxyPort 更改为 8080 并使用 jcenter 而不是 Maven。但我不得不申请使用 HTTP 而不是 HTTPS。这就是我的 build.gradle 中用于构建脚本和所有项目的内容

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

                  更新:06/08

                  我最近更新了 Gradle 和插件版本,但遇到了一些问题。它在抱怨插件 com.android.application

                  我做了一些挖掘并改变了

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

                  repositories {
                      maven { url 'http://repo1.maven.org/maven2' }
                  }
                  

                  【讨论】:

                  • 嗨,它对我没有帮助。它抛出Could not resolve all dependencies for configuration ':classpath'. Could not resolve com.bmuschko:gradle-cargo-plugin:2.1.1. - 无论是什么插件。对等方未经过身份验证。请帮忙!
                  • @SabareeshSS 尝试更新的答案伴侣。由于我更新了 gradle 和插件,我一直遇到问题。 repo1 似乎解决了它。
                  • 就我而言,我不得不使用https 而不是http
                  【解决方案11】:

                  工具 > SDK 管理器 > SDK 工具 > 显示包详细信息 并删除所有旧版本

                  【讨论】:

                    【解决方案12】:

                    就我而言,删除 .gradle 文件夹对我有用。

                    【讨论】:

                      【解决方案13】:

                      在 Android Studio v4.0 中,您应该关闭 Gradle 离线模式并重新尝试同步 Gradle。

                      【讨论】:

                      • 在 Intellij IDE 上尝试这个也有效!我使用的是 2019.2.1 版本
                      【解决方案14】:

                      6年后在这里,但是对于仍然面临这个问题的他们,我解决了以下问题。 当我的模块具有与主项目不同的 gradle 版本时,就会发生这种情况。我在项目中有 gradle 版本3.5.3,在模块中有一个旧版本。所以,我刚刚更新了那个版本。文件在这里:

                      ./node-modules/[模块名称]/android/build.gradle

                      【讨论】:

                        【解决方案15】:

                        Android Studio > 视图 > 工具 Windows > Gradle > 点击切换离线模式(除了 gradle 设置图标)

                        这对我有用:)

                        【讨论】:

                          【解决方案16】:

                          转到 文件 --> 使缓存无效/重新启动。 它对我有用。

                          【讨论】:

                            【解决方案17】:

                            我遇到了同样的问题,这是因为缓存。 您只需要按照以下步骤操作:

                            1. 转到File -> Invalidate Caches / Restart
                            2. 重启 Android Studio 后,将您的 PC 连接到良好的网络。
                            3. 去build,选择rebuild,Android Studio会自动为项目下载缺失的文件

                            【讨论】:

                              【解决方案18】:

                              我遇到了同样的问题,我通过以下步骤解决了它:

                              1. 检查事件日志,如果你看到像“现金版本”这样的错误 不适用于离线模式”按照步骤操作。
                              2. 点击 View => Gradle 然后会打开新窗口。
                              3. 点击WIFI图标,然后同步Gradle。 “如果你看到与我在第一条中提到的不同的错误, 请到文件->项目结构->有建议”

                              【讨论】:

                                【解决方案19】:

                                在我的例子中,我的 Android Studio 版本是 3.6.1,我已经修改了类路径,如下所示;

                                classpath 'com.android.tools.build:gradle:3.6.1'
                                

                                那个错误消失了。

                                【讨论】:

                                  【解决方案20】:
                                  • 我正在 VS Code 中使用 Flutter。
                                  • 就我而言,我通过以下方式解决了它 使用以下命令在 VS 代码中停止 gradlew 进程

                                    android/gradlew --stop

                                  【讨论】:

                                    【解决方案21】:

                                    如果将google() 添加到您的build.gradle 中不起作用,请尝试将其添加到node_modules/YOUR_PACKAGE/android/build.gradle 文件的存储库部分的首位。

                                    【讨论】:

                                      【解决方案22】:

                                      **评估项目 ':app' 时出现问题。

                                      无法解析配置“类路径”的所有文件。**

                                      解决方案: 平台->cordova-support-google-services

                                      在这个文件中 代替 classpath 'com.android.tools.build:gradle:+' 到这个 类路径'com.android.tools.build:gradle:3.+'

                                      【讨论】:

                                        【解决方案23】:

                                        我遇到了同样的问题。只需使用 File->INVALIDATE CACHES AND RESTART

                                        【讨论】:

                                          【解决方案24】:

                                          解决方案是在你的 build.gradle 中更改这个块:

                                          allprojects {
                                            repositories {
                                              jcenter()
                                              google()
                                            }
                                          }
                                          

                                          谷歌排名第一:

                                          allprojects {
                                            repositories {
                                              google()
                                              jcenter()
                                            }
                                          }
                                          

                                          【讨论】:

                                            【解决方案25】:

                                            查找和替换:

                                            jcenter()
                                            maven {
                                                url "https://maven.google.com"
                                            }
                                            

                                            到:

                                            maven {
                                                url "https://maven.google.com"
                                            }
                                            jcenter()
                                            

                                            【讨论】:

                                            • 感谢您提供此代码 sn-p,它可能会提供一些有限的即时帮助。 proper explanation would greatly improve its long-term value 通过展示为什么这是一个很好的解决问题的方法,并且会使其对未来有其他类似问题的读者更有用。请edit您的回答添加一些解释,包括您所做的假设。
                                            • 嗨!您能否解释一下为什么更改顺序可以解决问题?
                                            【解决方案26】:

                                            我通过将互联网从 Wifi 切换到移动热点解决了这个问题。这意味着由于网络问题而发生此问题。我还可以看到以下日志,这证实了我的理解,

                                            连接到 jcenter.bintray.com:443 [jcenter.bintray.com/75.126.118.188] 失败:连接超时: 连接

                                            连接到 repo1.maven.org:443 [repo1.maven.org/151.101.36.209] 失败:连接超时:连接

                                            希望对你有帮助。

                                            【讨论】:

                                              【解决方案27】:

                                              我正在使用 Gradle 插件 3.0.1 并看到此错误。不确定是什么原因造成的,但对我有用的解决方案是通过./gradlew --stop 停止正在运行的 Gradle 守护进程。

                                              【讨论】:

                                              • @brandNew 我想我们永远不会知道
                                              • 谢谢兄弟。它解决了这个问题。但我不知道是什么问题
                                              【解决方案28】:

                                              我遇到了这个问题,这是因为我没有在我的防火墙 (TinyWall) 中添加 gradle 例外。

                                              【讨论】:

                                                【解决方案29】:

                                                对于较新的 android studio 3.0.0gradle 更新,这需要包含在 android Gradle 的项目级 build.gradle 文件中自从 Google 迁移到自己的 maven 存储库后,构建工具和相关依赖项。

                                                // Top-level build file where you can add configuration options common to all sub-projects/modules.
                                                
                                                buildscript {
                                                    repositories {
                                                        jcenter()
                                                        google()
                                                    }
                                                    dependencies {
                                                        classpath 'com.android.tools.build:gradle:3.0.1'
                                                
                                                        // NOTE: Do not place your application dependencies here; they belong
                                                    }
                                                }
                                                
                                                allprojects {
                                                    repositories {
                                                        jcenter()
                                                        google()
                                                    }
                                                }
                                                
                                                task clean(type: Delete) {
                                                    delete rootProject.buildDir
                                                }
                                                

                                                【讨论】:

                                                • @Chaos 我想我们永远不会知道
                                                【解决方案30】:

                                                您应该使用代理设置为构建定义 gradle.properties 文件,以便 gradle 知道如何使用 http 连接

                                                # This file contains the basics for Maven Version control and will be used by the Artifactory Release management
                                                # These settings are for the root project and all sub-projects in this application
                                                releaseVersion=1.0.0-SNAPSHOT
                                                releaseGroup=com.xx.xx.xx
                                                artifactory_user=
                                                artifactory_password=
                                                artifactory_contextUrl=https://artifactory.xxxx.com/artifactory/
                                                systemProp.http.proxyHost=proxy.xxx.com
                                                systemProp.http.proxyPort=8080
                                                systemProp.https.proxyHost=proxy.xxx.com
                                                systemProp.https.proxyPort=8080
                                                systemProp.http.nonProxyHosts=*.xxx.com|localhost|*.int.targoe.com
                                                org.gradle.java.home=C:\\Program Files (x86)\\Java\\jdk1.8.0_121
                                                

                                                【讨论】:

                                                • 最初的答案不是这样吗?
                                                猜你喜欢
                                                • 2020-12-20
                                                • 2016-10-09
                                                • 1970-01-01
                                                • 1970-01-01
                                                • 1970-01-01
                                                • 1970-01-01
                                                • 2018-03-31
                                                • 2021-03-21
                                                • 1970-01-01
                                                相关资源
                                                最近更新 更多