【问题标题】:Unable to publish artifacts to Nexus maven repository using Gradle无法使用 Gradle 将工件发布到 Nexus Maven 存储库
【发布时间】:2015-11-02 16:40:39
【问题描述】:

我是 Gradle、nexus 和 Maven 的新手,并尝试使用 Gradle 的“发布”任务将 Jenkins 中的 maven 工件发布到新的 nexus 存储库。 Jenkins 作业在发布时因以下错误而失败。我已在作业中提供了 Nexus 的用户名和密码。

:common-test:publishMavenJavaPublicationToMavenRepository找不到元数据 com.xx.audit:common-test:1.0.3-SNAPSHOT/maven-metadata.xml 在 远程(https://nexus.xx.com:8443/content/repositories/snapshots) 上传 https://nexus.xx.com:8443/content/repositories/snapshots/yy/audit/common-test/1.0.3-SNAPSHOT/common-test-1.0.3-20151102.120123-1.jar 无法传输工件 com.xx.audit:common-test:jar:1.0.3-20151102.120123-1 从/到远程(https://nexus.xx.com:8443/content/repositories/snapshots): 无法写入资源 'yy/audit/common-test/1.0.3-SNAPSHOT/common-test-1.0.3-20151102.120123-1.jar'

我们是否需要在第一次发布之前在 nexus maven 存储库中创建文件夹结构?并添加 maven-metadata.xml? *.pom.sha、*.pom.md5 是如何生成的。 请帮我解决这个问题。

build.gradle 配置:

应用插件:“maven-publish” //* 新建 Gradle 任务到 jar 源 任务源Jar(类型:Jar,dependsOn:类){ 分类器 = '来源' 来自 sourceSets.main.allSource } //* 新建 Gradle 任务到 jar javadoc 任务 javadocJar(类型:Jar,dependsOn:javadoc){ 分类器 = 'javadoc' 来自 javadoc.destinationDir } 发布{ 出版物{ mavenJava(MavenPublication) { 来自组件.java 工件来源Jar { 分类器“来源” } } } } 发布{ 存储库{ 行家{ 证书 { 用户名 nexus用户名 密码关系密码 } if (project.version.endsWith('-SNAPSHOT')) { url nexusSnapshotRepoURL } 别的 { url nexusReleaseRepoURL } } } }

【问题讨论】:

  • 您是否检查过您的 nexus 服务器文件系统的权限,因为from/to remote (https://nexus.xx.com:8443/content/repositories/snapshots): Could not write to resource 'yy/audit/common-test/1.0.3-SNAPSHOT/common-test-1.0.3-20151102.120123-1.jar'这可能是一个指标...除此之外,您没有显示完整的错误输出...

标签: maven gradle build.gradle nexus


【解决方案1】:

我不知道 maven-publish Gradle 插件。通常使用 uploadArchives 任务。 Nexus book examples project 中提供了有关其用法的完整示例。将其用作测试您的凭据和设置的参考。

【讨论】:

    猜你喜欢
    • 2017-05-11
    • 2013-12-06
    • 2016-05-30
    • 1970-01-01
    • 1970-01-01
    • 2012-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多