当前位置: 首页 > 知识库问答 >
问题:

将工件从gradle项目发布到bintray(maven存储库)

郁和通
2023-03-14

我已经配置Gradle使用新的Maven Publisher插件发布项目工件,不幸的是,这个插件在生成的pom.xml中存在依赖关系问题-依赖关系的范围运行时而不是编译

我的配置是这样的:

apply plugin: 'maven-publish'

publishing {
    publications {
        mavenCustom(MavenPublication) {
            from components.java
        }
    }
    repositories {
        maven {
            url "https://api.bintray.com/maven/codearte/public/fairyland"
            credentials {
                username = bintrayUser
                password = bintrayKey
            }
        }
    }
}

发布很简单,只需一个命令:

gradle publish

如何以旧的(工作)方式实现这一点?项目发布时是否可以自动进行项目标记?

共有2个答案

冯永长
2023-03-14

所有POM依赖项都具有运行时范围这一事实是新的孵化maven publish插件的已知限制。在修复之前,您可以使用publication.pom自行修复。使用XMLhook,或者返回到<code>maven

标记是一个完全不同的问题。您可以使用第三方Gradle SCM插件,也可以调用命令行工具(例如,使用Exec任务)。

萧远
2023-03-14

好吧,我想通了:

apply plugin: 'maven'

uploadArchives {
    repositories {
        mavenDeployer {
            name = 'Codearte Public Repository'
            repository(id: 'codearte-repository', url: 'https://api.bintray.com/maven/codearte/public/fairyland'){
                authentication(userName: bintrayUser, password: bintrayKey)
        }
    }
}

使用命令上传:

gradle uploadArchives
 类似资料:
  • 我是Gradle、nexus和Maven的新手,并尝试使用Gradle'publish'任务将Maven工件从Jenkins发布到一个新的nexus存储库。Jenkins作业在发布时失败,出现以下错误。我已经在作业中为Nexus提供了用户名和密码。 在第一次发布之前,我们需要在nexus maven存储库中创建文件夹结构吗?并添加maven-metadata.xml?如何生成*.pom.sha和*

  • 问题内容: 我正在开发两个相关的项目。其中一个是“助手”,另一个是“主”。我不断地更新“主要”,但是我有时也会更新“助手”。之后,我在gradle的maven插件中运行目标,并在本地maven存储库中获取jar。之后,我在“主要”项目中进行了gradle更新,并链接了更新的jar。 有两个问题。 1)如果仍然使用maven插件,那么如何将源代码也发布到本地Maven存储库中呢? 2)我可以在没有m

  • 这个构建将作为一个自由式项目从Jenkins运行,所以我只需要在build-invoke Gradle script-tasks->中指定 从Jenkins配置Nexus凭据并将其传递给Gradle taks的正确方法是什么(我不想在带有源代码的Git repo中使用它们)?

  • 我刚刚使用Maven,我需要从一个Ant项目上传一些库。为了开发这个任务,我有一个文件夹,其中包含许多“pom.xml”文件,这些文件引用了我希望使用Maven在Eclipse中添加到我的项目中的jar,还有另一个xml文件,即Ant项目本身。 欢迎所有想法。谢谢

  • 我正在开发两个相关项目。其中一个是“帮手”一个,另一个是“主”一个。我在不断地更新“主”,但时不时也在更新“帮手”一个。然后,我在Gradle的maven插件中运行goal,并在本地maven repo中获取JAR。之后,我在“main”项目中进行分级更新,并将更新的jar链接起来。 有两个问题。 1)如果继续使用maven插件,那么如何将源代码发布到本地maven repo中? 2)如果没有ma

  • 我以一个新的gradle用户的身份创建gradle版本,但我过去曾与maven合作过。 我试图重现maven发布插件的动作: 将分支版本更改为发行号(在svn提交) 如您所见,我正在使用: Nexus OSS作为版本控制库 SVN作为scm Gradle(2.8) 我正试图通过这两个插件实现我的目标: > 将分支版本更改为发行号(在svn提交) 创建标签(位于svn) 将分支版本更改为新快照编号(