【问题标题】:Gradle Not Resolving Maven Repo on localhostGradle 无法解析本地主机上的 Maven 存储库
【发布时间】:2012-02-21 14:01:40
【问题描述】:

我已经使用默认配置在我的本地主机上设置了一个Archiva 实例。我尝试了几种不同的 Gradle 配置来解析档案实例,但似乎都没有。

  1. 使用 mavenRepo
  2. 行家
  3. 使用 Ivy 并仅指定工件模式(在我使用 Ivy 时有效)

build.gradle

subprojects {
    apply plugin: 'java'
    apply plugin: 'maven'

    repositories {
        mavenRepo url: 'http://localhost:8080/archiva', artifactUrls: [
            'http://localhost:8080/archiva/repository/internal',
            'http://localhost:8080/archiva/repository/snapshot'
        ]
        maven { url 'http://localhost:8080/archiva' }
        ivy {
            artifactPattern 'http://localhost:8080/archiva/repository/internal/[organisation]/[artifact]/[revision]/[artifact](-[revision]).[ext]'
        }
        mavenCentral()
    }

    dependencies {
        testCompile group: 'junit', name: 'junit', version: '4.10'
    }
}

dependsOnChildren()

我不认为发布任何/所有子项目 gradle 文件是相关的,但如果您认为有必要,我可以。

这里有什么我遗漏的吗? gradle 对 localhost url 的处理方式是否与非 localhost 不同(因为正在解析 mavenCentral 依赖项)?我需要做什么才能让 Gradle 解析为 Maven 存储库的本地实例?

编辑: @Peter Niederwieser

:/> gradle build
> Loading > Resolving dependencies ':projects:project-plugin-framework:classpat
:projects:compileJava UP-TO-DATE
:projects:processResources UP-TO-DATE
:projects:classes UP-TO-DATE
:projects:jar UP-TO-DATE
:projects:assemble UP-TO-DATE
:projects:compileTestJava UP-TO-DATE
:projects:processTestResources UP-TO-DATE
:projects:testClasses UP-TO-DATE
:projects:test UP-TO-DATE
:projects:check UP-TO-DATE
:projects:build UP-TO-DATE
:projects:project-plugin-framework:compileJava UP-TO-DATE
:projects:project-plugin-framework:processResources UP-TO-DATE
:projects:project-plugin-framework:classes UP-TO-DATE
:projects:project-plugin-framework:jar UP-TO-DATE
:projects:project:compileJava UP-TO-DATE
:projects:project:processResources UP-TO-DATE
:projects:project:classes UP-TO-DATE
:projects:project:jar UP-TO-DATE
:projects:project:assemble UP-TO-DATE
:projects:project:compileTestJava UP-TO-DATE
:projects:project:processTestResources UP-TO-DATE
:projects:project:testClasses UP-TO-DATE
> Building > :projects:project:test > Resolving dependencies ':projects:mag
:projects:project:test

FAILURE: Build failed with an exception.

* What went wrong:
Could not resolve all dependencies for configuration ':projects:project:tes
tRuntime'.
> Could not find group:jspf, module:jspf.core, version:1.0.2.
  Required by:
      Project.projects:project:0.0.1
      Project.projects:project:0.0.1 > Project.projects:project-pl
ugin-framework:0.0.1
> Could not find any version that matches group:erichschroeter, module:applib, v
ersion:latest.integration.
  Required by:
      Project.projects:project:0.0.1
      Project.projects:project:0.0.1 > Project.projects:project-pl
ugin-framework:0.0.1

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug
option to get more log output.

BUILD FAILED

Total time: 12.61 secs

【问题讨论】:

  • maven { url 'http://localhost:8080/archiva' } 应该可以正常工作,如果那是正确的 URL。 (请在尝试之前删除mavenRepo。)你得到什么确切的输出? -s-d 是否提供任何见解?哪个 Gradle 版本/操作系统?
  • 调试信息为我提供了两个未解决的依赖项的ModuleVersionNotFoundException,我认为这是失败的预期。我在 Windows XP 32 位上使用 Gradle 1.0-milestone-8。
  • 这是从哪里来的? Could not find any version that matches group:erichschroeter, module:applib, version:latest.integration 特别是,latest.integration 是 Ivy 概念,而不是 Maven 概念。一般来说,我建议从最简单的单项目构建开始,然后从那里开始。该 URL 是 Archiva Maven 存储库的正确根 URL 吗?你能在浏览器中打开http://localhost:8080/archiva/jspf/jspf.core/1.0.2/吗? (PS:我在 Maven Central 中找不到这样的模块。)
  • group: erichschroetergroup: jspf 是我在 localhost repo 上设置的组(它们在 mavenCentral 中不存在)。存档设置中有一个 WebDAV URL,它是 http://localhost:8080/archiva/repository/internal,我尝试过使用它,但仍然得到相同的结果。
  • 可以在浏览器中打开我给的网址吗?它是否显示 .jar 和 .pom? latest.integration 来自哪里?您是否在构建脚本的某处指定它?这有问题,我认为它也不适用于 Maven。

标签: maven localhost gradle archiva


【解决方案1】:

这个问题必须处理 Gradle 的缓存以及我最初将工件上传到 Archiva 存储库。

当您在 Archiva 中上传工件时,您可以选择生成 Maven 2 POM,而我没有这样做。结果,当 Gradle 去解决 Archiva 存储库中的依赖关系时,它没有找到我认为它正在寻找的 POM,因此无法解决依赖关系。

通过删除.gradle/caches 目录并简单地调用build 从头开始​​解决问题。

【讨论】:

    猜你喜欢
    • 2021-10-14
    • 2014-04-20
    • 2014-07-01
    • 2012-10-27
    • 1970-01-01
    • 2020-10-15
    • 1970-01-01
    • 1970-01-01
    • 2019-05-11
    相关资源
    最近更新 更多