无法使用 Jar 将 Pom 部署到 Artifactory

Posted

技术标签:

【中文标题】无法使用 Jar 将 Pom 部署到 Artifactory【英文标题】:Can't get Pom to deploy to Artifactory with Jar 【发布时间】:2014-07-11 20:00:47 【问题描述】:

我正在编写一个 REST API,我正在尝试自动生成和发布一个客户端 jar。我的 jar 生成良好,甚至可以发布到我公司的 Artifactory 服务器。但是 pom 文件不会随它一起发布。

客户端 jar 的代码由 Swagger Codegen 生成。我已将代码生成过程集成到 Bamboo 作业中,并试图让它从那里发布 jar。

我们正在使用 Bamboo 5.0.1 build 3716。我正在使用目标为 clean packageMaven 3.x 任务来生成 jar。之后我使用Artifactory Generic Deploy 任务将jar 上传到我们的Artifactory 服务器。我也尝试过发布 pom.xml 文件本身,但这似乎无法解决问题。我们 Artifactory 中的其他项目似乎有一个 .pom 文件而不是 pom.xml。我尝试将 pom.xml 文件重命名为 client-version.pom,但是当 Artifactory Generic Deploy 任务尝试发布此文件时,它会收到错误 HTTP response code: 409. HTTP response message: Conflict

我注意到有一个Artifactory Maven 3 任务,所以我尝试切换到该任务,但每当我尝试运行它时都会收到ClassNotFoundException: org.sonatype.aether.RepositoryListener。似乎这是该任务的一个问题,因为异常出现在 Error injecting: org.jfrog.build.extractor.maven.BuildInfoRecorderLifecycleParticipant 之后。

当我尝试发布 .pom 文件时,为什么会出现冲突错误?我会以错误的方式解决这个问题吗?非常感谢您指出正确的方向。

【问题讨论】:

【参考方案1】:

升级 Bamboo Artifactory 插件解决了这个问题。我们之前使用的是 1.6.0,现在使用的是 1.7.2。我们使用的是 Bamboo 5.0.1,必须升级到 5.4.3 才能升级插件。

使用Artifactory Maven 3 任务是解决 POM 不发布的问题。要使 pom 发布,请确保最终目标是 install。如果您有包含模式,请确保它可以包含 pom.xml。如果您想从发布中排除任何内容,我建议您不要使用包含模式。

【讨论】:

以上是关于无法使用 Jar 将 Pom 部署到 Artifactory的主要内容,如果未能解决你的问题,请参考以下文章

一个 Spring Boot 项目,部署到 JAR 或 WAR

由于 pom 依赖,无法创建我的 JDA 项目的 JAR

将jar部署到maven内部仓库

Maven-部署jar的发布版本

部署Jar包到远程Maven仓库

SpringBoot启动方式