Gradle未在本地主机上解析Maven Repo

Gradle未在本地主机上解析Maven Repo,maven,localhost,gradle,archiva,Maven,Localhost,Gradle,Archiva,我已使用默认配置在本地主机上设置了一个实例。我尝试了几种不同的Gradle配置来解析archiva实例,但似乎都不起作用 使用mavenRepo 马文 使用Ivy并且只指定工件模式(当我使用Ivy时,它起作用) build.gradle subprojects { apply plugin: 'java' apply plugin: 'maven' repositories { mavenRepo url: 'http://localhost:8080/

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

  • 使用mavenRepo
  • 马文
  • 使用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对待本地主机URL是否与对待非本地主机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
    

    这个问题必须处理Gradle的缓存和我最初将工件上传到repo的问题

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


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

    maven{url'http://localhost:8080/archiva“}
    如果URL正确,应该可以正常工作。(请在尝试之前删除
    mavenRepo
    )您得到的确切输出是什么?
    -s
    -d
    是否提供了一些见解?哪个Gradle版本/OS?调试信息为这两个未解决的依赖项提供了一个
    ModuleVersionNotFoundException
    ,我认为如果出现故障,这是预期的。我在WindowsXP32位上使用Gradle1.0-milestone-8。这是从哪里来的
    找不到任何与group:erichschroeter、module:applib、version:latest匹配的版本。特别是,
    latest。integration
    是一个常春藤概念,而不是Maven概念。一般来说,我建议从最简单的单个项目构建开始,并从那里开始。URL是Archiva Maven repo的正确根URL吗?你能打开
    http://localhost:8080/archiva/jspf/jspf.core/1.0.2/
    是否在浏览器中?(注:我在Maven Central中找不到这样的模块。)
    组:erichschroeter
    组:jspf
    是我在本地主机repo上设置的组(它们在mavenCentral中不存在)。archiva设置中有一个WebDAV URL,
    http://localhost:8080/archiva/repository/internal
    ,我尝试过使用它,但仍然得到相同的结果。你能在浏览器中打开我提供的URL吗?它会显示一个.jar和一个.pom吗?
    latest.integration
    从何而来?您是否在构建脚本中的某个地方指定了它?这有点不对劲,我认为它对Maven也不起作用。