Gradle Not Resolving Maven Repo on localhost

时间:2012-02-21 14:01:40

标签: maven localhost gradle archiva

我使用默认配置在localhost上设置了Archiva个实例。我尝试了几种不同的Gradle配置来解析archiva实例,但似乎都没有。

  1. 使用mavenRepo
  2. 行家
  3. 使用常春藤,只指定工件模式(当我使用常春藤时有效)
  4. 的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的方式处理localhost url(因为正在解析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
    

1 个答案:

答案 0 :(得分:6)

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

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

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