【问题标题】:Gradle Artifactory publication errorGradle Artifactory 发布错误
【发布时间】:2015-02-18 14:13:16
【问题描述】:

我是使用 Gradle 和 Artifactory 的新手,我使用了一个无法正常工作的示例 example site 我收到以下错误消息:

Extension of type 'PublishingExtension' does not exist. Currently registered extension types: [DefaultExtraPropert iesExtension, DefaultArtifactPublicationSet_Decorated, ReportingExtension_Decorated, DefaultProjectComponentContai ner_Decorated, DefaultProjectSourceSet_Decorated, DefaultBinaryContainer_Decorated]

我在这一行有一个错误:

defaults{
    publications ('mavenJava')
}

有人可以帮助我解决这个问题我已经被这个问题困扰了很长时间。

在查看了 JBaruch 推荐的链接并与代码进行比较后,我更改了插件,但仍然存在同样的问题。也许我混淆了什么? (这就是为什么我会发布整个源代码)

buildscript {
    repositories {
        maven {
            url 'http://.../artifactory/libs-release'
            credentials {
                username = "${artifactory_user}"
                password = "${artifactory_password}"
            }
            name = "maven-main-cache"
        }
    }
    dependencies {
        classpath "org.jfrog.buildinfo:build-info-extractor-gradle:3.0.1"
    }
}

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

version = '1.0.0-SNAPSHOT'
group = 'com.buransky'

repositories {
    add buildscript.repositories.getByName("maven-main-cache")
}

dependencies {
    compile 'org.scala-lang:scala-library:2.11.2'
}

tasks.withType(ScalaCompile) {
    scalaCompileOptions.useAnt = false
}

artifactory {
    contextUrl = "${artifactory_contextUrl}"
    publish {
        repository {
            repoKey = 'libs-snapshot-local'
            username = "${artifactory_user}"
            password = "${artifactory_password}"
            maven = true

        }
        defaults{
            publications ('mavenJava')
        }
    }
}

publishing {
    publications {
        mavenJava(MavenPublication) {
            from components.java
        }
    }
}

非常感谢

【问题讨论】:

    标签: gradle artifactory


    【解决方案1】:

    您没有应用 maven-publish 插件,该插件预计将与 artifactory 插件一起出现。

    请查看the documentationthis answer 可能会有所帮助(注意插件名称更改)。

    【讨论】:

    • 我应用了插件:'maven-publish' 作为示例,并检查了插件的版本是否正确,因为正如您所说的名称发生了变化(在本例中为 com.jfrog.artifactory),但仍然没有结果。我发布了我的源代码,仅供参考,谢谢。
    • 我尝试了所有类型的插件,但仍然没有任何成功,并且在出版物(mavenJava)参考中一直存在同样的问题。可能与 Maven 存储库有关?
    • 我今天也尝试使用 gradle & android 的 artifactory 插件,和你一样的错误。 github.com/JFrogDev/project-examples/tree/master/… 的工件示例是最新的 android gradle 插件后面的几个版本......并且也没有“maven-publish”插件。
    • 伙计们,你们使用的是哪个 Gradle 版本?
    • 问题解决了我的错误,因为我没有在根目录上使用主 build.gradle,因为我有不同的模块,并且我正在从其中一个运行出版物。代码非常完美,非常感谢 JBaruch。我的 gradle 版本是 2.1
    【解决方案2】:

    由于 Artifactory 文档使用过时的 Android Studio 和 gradle 插件版本,我在这方面浪费了很多时间,所以这是我使用 AS 1.5.1 和 gradle 1.5.0 的工作配置:

    全局构建.gradle

    buildscript {
      repositories {
        jcenter()
      }
      dependencies {
        classpath 'com.android.tools.build:gradle:1.5.0'
        classpath "org.jfrog.buildinfo:build-info-extractor-gradle:4+"
      }
    }
    

    模块构建.gradle

    apply plugin: 'com.jfrog.artifactory'
    apply plugin: 'com.android.library'
    apply plugin: 'maven-publish'
    
    publishing{
      publications {
        maven(MavenPublication)  {
            groupId packageName
            version = libraryVersion
            artifactId project.getName()
            artifact("$buildDir/outputs/aar/${project.getName()}-release.aar")
        }
      }
    }
    
    artifactory {
      contextUrl = // yours
      publish {
        repository {
            // The Artifactory repository key to publish to
            repoKey = 'libs-release-local'
            username = // yours
            password = // yours
        }
        defaults {
            publishArtifacts = true
            publications ('maven')
    
            // Properties to be attached to the published artifacts.
            properties = ['qa.level': 'basic', 'dev.team': 'core']
            // Publish generated POM files to Artifactory (true by default)
            publishPom = true
        }
      }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-04
      • 2015-02-27
      • 1970-01-01
      • 2022-12-10
      • 1970-01-01
      相关资源
      最近更新 更多