我正在编写REST API,我正在尝试自动生成和发布客户端jar。我已经生成了jar,并且甚至发布到我公司的Artifactory服务器..但是pom文件不会随之发布。
客户端jar的代码由Swagger Codegen生成。我已经将代码生成过程集成到Bamboo作业中,并试图让它从那里发布jar。
我们正在使用Bamboo 5.0.1 build 3716.我正在使用目标为Maven 3.x
的{{1}}任务来生成jar。之后我使用clean package
任务将jar上传到Artifactory服务器。我也试过发布pom.xml文件本身,但似乎没有解决问题。我们Artifactory中的其他项目似乎有一个Artifactory Generic Deploy
文件而不是pom.xml。我已经尝试重命名pom.xml文件.pom
,但当Artifactory Generic Deploy任务尝试发布时,它会收到错误client-{version}.pom
。
我注意到有一个HTTP response code: 409. HTTP response message: Conflict
任务,所以我尝试切换到那个但是每当我尝试运行时我都会Artifactory Maven 3
。这似乎是该任务的一个问题,因为例外是在ClassNotFoundException: org.sonatype.aether.RepositoryListener
之后。
当我尝试发布.pom文件时,为什么会出现Conflict错误?我是以错误的方式来做这件事的吗?真的很感激被指向正确的方向。
答案 0 :(得分:3)
升级Bamboo Artifactory插件解决了这个问题。我们之前使用的是1.6.0,现在使用1.7.2。我们使用Bamboo 5.0.1并且必须升级到5.4.3才能升级插件。
使用Artifactory Maven 3
任务是POM不发布的解决方案。要使pom发布,请确保最终目标为install
。如果你有一个包含模式,请确保它可以包含pom。如果您没有尝试排除发布内容,我建议您不要使用包含模式。