【问题标题】:Java Spring Boot project error on download gradle dependency下载 gradle 依赖项上的 Java Spring Boot 项目错误
【发布时间】:2021-01-04 17:18:20
【问题描述】:

我的一位同事最近删除了他的“.gradle”目录。由于以下错误,他无法再次构建项目:

Caused by: org.gradle.api.resources.ResourceException: Could not get resource 'https://repo.spring.io/plugins-release/com/github/node-gradle/gradle-node-plugin/2.2.1/gradle-node-plugin-2.2.1.pom'.
    at org.gradle.internal.resource.ResourceExceptions.failure(ResourceExceptions.java:74)
    at org.gradle.internal.resource.ResourceExceptions.getFailed(ResourceExceptions.java:57)
    at org.gradle.api.internal.artifacts.repositories.resolver.DefaultExternalResourceArtifactResolver.downloadByCoords(DefaultExternalResourceArtifactResolver.java:138)
    at org.gradle.api.internal.artifacts.repositories.resolver.DefaultExternalResourceArtifactResolver.downloadStaticResource(DefaultExternalResourceArtifactResolver.java:97)
    at org.gradle.api.internal.artifacts.repositories.resolver.DefaultExternalResourceArtifactResolver.resolveArtifact(DefaultExternalResourceArtifactResolver.java:64)
    at org.gradle.api.internal.artifacts.repositories.metadata.AbstractRepositoryMetadataSource.parseMetaDataFromArtifact(AbstractRepositoryMetadataSource.java:69)
    at org.gradle.api.internal.artifacts.repositories.metadata.AbstractRepositoryMetadataSource.create(AbstractRepositoryMetadataSource.java:59)
    at org.gradle.api.internal.artifacts.repositories.resolver.ExternalResourceResolver.resolveStaticDependency(ExternalResourceResolver.java:244)
    at org.gradle.api.internal.artifacts.repositories.resolver.MavenResolver.doResolveComponentMetaData(MavenResolver.java:127)
    at org.gradle.api.internal.artifacts.repositories.resolver.ExternalResourceResolver$RemoteRepositoryAccess.resolveComponentMetaData(ExternalResourceResolver.java:445)
    at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.CachingModuleComponentRepository$ResolveAndCacheRepositoryAccess.resolveComponentMetaData(CachingModuleComponentRepository.java:378)
    at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.ErrorHandlingModuleComponentRepository$ErrorHandlingModuleComponentRepositoryAccess.resolveComponentMetaData(ErrorHandlingModuleComponentRepository.java:138)

我尝试访问 URL 'https://repo.spring.io/plugins-release/com/github/node-gradle/gradle-node-plugin/2.2.1/gradle-node-plugin-2.2 .1.pom' 直接在浏览器上,现在询问用户和密码。

有人知道发生了什么吗?此 repo 是否已移至其他主机?

提前致谢。

编辑:我的 gradle 存储库:

repositories {
        mavenLocal()
        mavenCentral()
        jcenter()
        maven { url "https://repo.spring.io/plugins-release" }
        maven { url "https://plugins.gradle.org/m2/" }
        
    }

【问题讨论】:

  • 你的 build.gradle 中的 repo{ } 里面是什么?
  • 我们正在使用以下存储库:``` repositories { mavenLocal() mavenCentral() jcenter() maven { url "repo.spring.io/plugins-release" } maven { url "plugins.gradle.org/m2" } } `` `
  • 网址是否没有“https://”前缀?
  • 评论的格式去掉了前缀。我会更新问题...
  • 如果有帮助,请检查此网址.. h​​ttps://plugins.gradle.org/plugin/com.github.node-gradle.node/2.2.1

标签: spring spring-boot gradle


【解决方案1】:

看起来您正在从 jfrog 存储库下载并且缺少 gradle.properties 文件。 .gradle 文件夹包含一个名为“gradle.properties”的文件,其中包含访问 jars/poms 的凭据(通常从上述 repo 加密,以防雇主控制的 repo)。

生成和下载步骤: 1.转到https://repo.spring.io/ 并登录,如果您有访问回购的工作场所凭据。 2.搜索“plugins-release”是“set-me-up”滚动条。 3.在“工具”下拉菜单中选择Gradle并生成gradle.properties。 4.下载这个“gradle.properties”,放到用户名目录下的.gradle文件夹中。

【讨论】:

  • 我没有帐户。我们一直使用这个 repo,我们曾经认为它是公开的......你知道它最近是否改变了吗?或者是否有某种方法可以为此 repo 创建用户?谢谢
  • 他们最近把所有东西都变成了 https .. 所以在你的 build.gradle 中用 https 更新 repo.spring.io 的所有 URL
【解决方案2】:

切换repositories下最后两行的顺序。它变成:

repositories {
        mavenLocal()
        mavenCentral()
        jcenter()
        maven { url "https://plugins.gradle.org/m2/" }
        maven { url "https://repo.spring.io/plugins-release" }
    }

这样,Gradle 将从官方 Gradle 插件门户 (https://plugins.gradle.org/m2/) 解析 gradle-node-plugin,而不是从 Spring 的 Artifactory(缓存第 3 方工件,但您并不想从中获取非 Spring 插件) .

另请参阅此答案:https://stackoverflow.com/a/22170251/2591231

PS:
我假设在您的build.gradle 中应用插件"com.moowork.node",如“使用旧插件应用程序”下的here 所示,并且repositories 块位于buildscript 块内。否则,您的 repositories 块对插件分辨率没有影响。

【讨论】:

    猜你喜欢
    • 2016-09-17
    • 2018-01-31
    • 2023-04-08
    • 2020-03-31
    • 2018-10-06
    • 2019-07-26
    • 1970-01-01
    • 1970-01-01
    • 2023-03-15
    相关资源
    最近更新 更多