gradle artifactory插件无法使用groupID发布

gradle artifactory插件无法使用groupID发布,gradle,artifactory,Gradle,Artifactory,在我的build.gradle脚本中,当groupId未定义时,发布工作正常。我想对groupId使用“org.company.foobar.common” 在以下build.gradle脚本中取消注释groupId行时,我收到一个错误。脚本下面是定义此groupId时的执行结果 buildscript { repositories { maven { url "http://tribe.ust.doj.gov:8085/artifactory/jcenter/"} mav

在我的build.gradle脚本中,当groupId未定义时,发布工作正常。我想对groupId使用“org.company.foobar.common”

在以下build.gradle脚本中取消注释groupId行时,我收到一个错误。脚本下面是定义此groupId时的执行结果

buildscript {
  repositories {
    maven { url "http://tribe.ust.doj.gov:8085/artifactory/jcenter/"} 
    maven { url "http://tribe.ust.doj.gov:8085/artifactory/MavenCentral/"}
    maven { url "http://tribe.ust.doj.gov:8085/artifactory/gradlePlugins/"}
  }

 dependencies {
    classpath "org.jfrog.buildinfo:build-info-extractor-gradle:latest.release"
  }
}

  repositories {
    maven { url "http://tribe.ust.doj.gov:8085/artifactory/jcenter/"} 
    maven { url "http://tribe.ust.doj.gov:8085/artifactory/MavenCentral/"}
    maven { url "http://tribe.ust.doj.gov:8085/artifactory/gradlePlugins/"}
  }

apply plugin: 'java'
apply plugin: 'maven'
apply plugin: 'maven-publish'
apply plugin: "com.jfrog.artifactory"

def getArtifactoryUrl() {
    return "http://tribe.ust.doj.gov:8085/artifactory/"
}

allprojects {
    repositories {
        def artifactoryMcentralUrl = getArtifactoryUrl() + "MavenCentral/"
        maven {url artifactoryMcentralUrl }
    }
}

  dependencies {

}

sourceSets {
    main {
        java {
            srcDir "/src"
        }
    }
}

//project.group = 'org.company.foobar.common'

task printProps {
    doLast {
        println artifactory_user
        println artifactory_contextUrl
        //println project.group
    }
}

publishing {
    publications {
        mavenJava(MavenPublication) {
            //groupId project.group
            artifactId project.getName()
            version '1.0.0'
            from components.java
        }
    }
}

artifactory {
    def artifactoryUrl = getArtifactoryUrl()
    contextUrl = artifactoryUrl
    publish {
        repository {
            repoKey = 'libs-snapshot-local'
            username = "${artifactory_user}" 
            password = "${artifactory_password}" 
        }
        defaults {
            publications('mavenJava')
            publishArtifacts = true
            publishPom = true
        }
    }
}
使用groupId(未注释)时,“gradle artifactoryPublish”的输出为:


看起来,您正在尝试将发布工件发布到快照存储库。在Artifactory中使用maven存储库时,需要确保遵循maven布局和发布/快照策略。 在这个具体的例子中,您的问题似乎如下: Artifactory遵循maven策略,正在识别以下路径: “libs snapshot local:org/company/foobar/common/kambucha/1.0.0/kambucha-1.0.0.jar”作为发行版,而存储库设置为仅处理快照。要使此特定路径正常工作,如果这确实是快照工件,则需要将路径更改为: 本地libs快照:org/company/foobar/common/kambucha/1.0.0-snapshot/kambucha-1.0.0-snapshot.jar

如果这是一个版本,请将部署路径更改为使用“libs release local”存储库


您可以阅读有关存储库配置的更多信息,因为您正在尝试将发布工件发布到快照存储库。在Artifactory中使用maven存储库时,需要确保遵循maven布局和发布/快照策略。 在这个具体的例子中,您的问题似乎如下: Artifactory遵循maven策略,正在识别以下路径: “libs snapshot local:org/company/foobar/common/kambucha/1.0.0/kambucha-1.0.0.jar”作为发行版,而存储库设置为仅处理快照。要使此特定路径正常工作,如果这确实是快照工件,则需要将路径更改为: 本地libs快照:org/company/foobar/common/kambucha/1.0.0-snapshot/kambucha-1.0.0-snapshot.jar

如果这是一个版本,请将部署路径更改为使用“libs release local”存储库


您可以阅读有关存储库配置的更多信息

我添加了扩展名“-SNAPSHOT”。升级到版本,部署成功。指向存储库配置的链接也很有价值。升级到版本,部署成功。指向存储库配置的链接也很有价值。
$ gradle artifactoryPublish
:generatePomFileForMavenJavaPublication
:compileJava UP-TO-DATE
:processResources UP-TO-DATE
:classes UP-TO-DATE
:jar UP-TO-DATE
:artifactoryPublish
Deploying artifact: http://tribe.ust.doj.gov:8085/artifactory/libs-snapshot-local/org/company/foobar/common/kambucha/1.0.0/kambucha-1.0.0.jar
:artifactoryPublish FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':artifactoryPublish'.
> java.io.IOException: Failed to deploy file. Status code: 409 Response message: Artifactory returned the following errors:
The repository 'libs-snapshot-local' rejected the resolution of an artifact 'libs-snapshot-local:org/company/foobar/common/kambucha/1.0.0/kambucha-1.0.0.jar' due to conflict in the snapshot release handling policy. Status code: 409

* 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: 1.84 secs