小能豆

gradle Resolve dependencies of detachedConfiguration1

javascript

项目根目录下,输入,gradle clean

直接卡死在下面这个步骤中(注:公司比较注重信息安全禁用了很多网址,导致外部库无法访问)
<-------------> 0% CONFIGURING [1m 5s]

root project > Resolve dependencies of detachedConfiguration1 > org.springframework.boot.gradle.plugin-2.7.2.pom

maven如果配置外部库(华为云),可以正常访问,但是gradle配置了华为云也无法正常的执行命令。

难道是没有配置gradle的插件库地址?


阅读 50

收藏
2024-06-11

共1个答案

小能豆

为了解决依赖解析过程中 Gradle 挂起的问题,尤其是当由于网络限制而无法访问外部库时,您可以将 Gradle 配置为对所有依赖项(包括 Gradle 插件存储库)使用本地存储库(例如华为云)。操作方法如下:

  1. 配置 Gradle 存储库:

更新build.gradle文件以包含华为云 Maven 存储库。这可确保 Gradle 从可访问的本地存储库中提取依赖项。

allprojects { repositories { maven { url "https://repo.huaweicloud.com/repository/maven/" } mavenCentral() } }

  1. 配置插件存储库:

更新您的settings.gradlebuild.gradle(如果使用新的 Gradle 插件管理 DSL)以包含华为云存储库以进行插件解析。

pluginManagement { repositories { maven { url "https://repo.huaweicloud.com/repository/gradle-plugins/" } gradlePluginPortal() } }

  1. 离线模式:

如果您的依赖项之前已下载,您可以启用离线模式以防止 Gradle 尝试访问网络。

gradle --offline clean

  1. 依赖缓存:

通过至少一次访问网络来运行 Gradle,确保所有必需的依赖项都在本地缓存。如果您有一个允许网络访问的单独环境,则可以在那里构建项目以缓存依赖项。

  1. 检查网络配置:

确保您的网络配置允许访问指定的华为云存储库。这可能涉及设置代理或允许特定的 URL。

以下是您的配置示例:

settings.gradle

pluginManagement {
    repositories {
        maven {
            url "https://repo.huaweicloud.com/repository/gradle-plugins/"
        }
        gradlePluginPortal()
    }
}

build.gradle

allprojects {
    repositories {
        maven {
            url "https://repo.huaweicloud.com/repository/maven/"
        }
        mavenCentral()
    }
}

进行这些更改后,再次运行 Gradle 命令以查看依赖项是否已正确解析。

gradle clean

通过确保所有存储库和插件存储库都正确配置为使用可访问的本地存储库,您应该能够避免在依赖项解析期间出现 Gradle 挂起的问题。

2024-06-11