无法使用 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 package
的 Maven 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的主要内容,如果未能解决你的问题,请参考以下文章