【问题标题】:Gradle ignores private Nexus repository when searching for dependenciesGradle 在搜索依赖项时忽略私有 Nexus 存储库
【发布时间】:2019-08-29 05:11:45
【问题描述】:

我正在尝试从私有 Nexus 存储库中提取一些内部依赖项。但是当我构建项目时,gradle 不会在私有仓库中搜索依赖项,而是在 maven 仓库中查找它。

我做了一些调查,发现只有一个项目会发生这种情况。依赖项确实会被拉入其他项目。我仍然不知道为什么会这样。

这就是我添加存储库的方式:

repositories {
    mavenLocal()
    mavenCentral()
    jcenter()
    maven { url 'https://jitpack.io' }
    maven { url 'https://ci-artifactory.corda.r3cev.com/artifactory/corda' }
    maven { url 'https://repo.gradle.org/gradle/libs-releases' }

    maven {
        url 'http://private/repository/project'
        credentials {
            username = "user"
            password = "password"
        }
    }
}

依赖:

implementation 'com.project:project-1'

这是 gradle 显示的内容:

* What went wrong:
Execution failed for task ':workflows:compileKotlin'.
> Could not resolve all files for configuration ':workflows:compileClasspath'.
   > Could not find project:0.1.
     Searched in the following locations:
       - file:/C:/Users/local/.m2/repository/com/project/directory/0.1-SNAPSHOT/project-1.pom
       - file:/C:/Users/local/.m2/repository/com/project/directory/0.1-SNAPSHOT/project-1.jar
       - https://jcenter.bintray.com/com/project/directory/0.1-SNAPSHOT/project-1.pom
       - https://jcenter.bintray.com/com/project/directory/0.1-SNAPSHOT/project-1.jar
       - https://repo.maven.apache.org/maven2/com/project/directory/0.1-SNAPSHOT/project-1.pom
       - https://repo.maven.apache.org/maven2/com/project/directory/0.1-SNAPSHOT/project-1.jar
       - https://software.r3.com/artifactory/corda/com/project/directory/0.1-SNAPSHOT/project-1.pom
       - https://software.r3.com/artifactory/corda/com/project/directory/0.1-SNAPSHOT/project-1.jar
       - https://jitpack.io/com/project/directory/0.1-SNAPSHOT/project-1.pom
       - https://jitpack.io/com/project/directory/0.1-SNAPSHOT/project-1.jar

它不会在私有存储库中搜索。

【问题讨论】:

  • 您能否使用--info--debug 运行构建(无论是否可行)并检查Gradle 是否尝试访问存储库但被拒绝(HTTP 401)?
  • 我想我在摆弄的时候找到了解决方案。似乎还有另一个存储库块。 allProjects { repositories {} } 在其中添加 url 工作
  • 很高兴来到这里!也许您可以回答自己的问题,以便对其他人有所帮助?
  • 是的,回答:)

标签: maven gradle nexus


【解决方案1】:

我正在处理的项目有两个 gradle 文件,repositories.gradlebuild.gradle

我将链接 URL 添加到 repositories 块中的 repositories.gradle 文件。但是没有在 URL 中搜索依赖项。经过一番探索,我发现 build.gradle 文件也有一个 repositories 块:

allProjects {

    . . . . . . . . . . 

    repositories {
        . . . . . . . . . . 
        . . . . . . . . . . 
    }
}

这似乎覆盖了repositories.gradle 文件中的存储库块。当我在此处添加链接 URL 时,依赖关系已解决。

希望对遇到类似问题的人有所帮助:)

【讨论】:

  • 哇,谢谢!同样的事情发生在我身上。 settings.gradle.kts 存储库被忽略
【解决方案2】:

因为我的更新信息和解决方案在 settings.gradle 中

dependencyResolutionManagement 中有另一个存储库块。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-09
    • 2014-06-20
    • 1970-01-01
    • 2021-12-07
    • 2012-04-03
    • 1970-01-01
    相关资源
    最近更新 更多