2014-07-11 41 views
1

我正在编写REST API,并且正在尝试自动生成并发布客户端jar。我的jar生成良好,甚至发布到我公司的Artifactory服务器..但pom文件不会与它一起发布。无法将Pom部署到带有罐子的Artifactory中

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

我们使用的是Bamboo 5.0.1 build 3716.我使用Maven 3.x任务,目标clean package生成jar。之后,我使用Artifactory Generic Deploy任务将jar上传到我们的Artifactory服务器。我试过也发布了pom.xml文件,但似乎并没有解决问题。我们的Artifactory中的其他项目似乎有一个.pom文件而不是pom.xml。我试过重命名pom.xml文件client-{version}.pom,但是当Artifactory通用部署任务尝试发布它时,它得到错误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文件时遇到冲突错误?我是否以这种错误的方式去做?真的会感激被指向正确的方向。

回答

2

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

使用Artifactory Maven 3任务是未发布POM的解决方案。为了使pom发布,确保最终目标是install。如果你有一个包含模式,确保它可以包含pom。如果没有什么你想要从发布中排除,我建议不要使用包含模式。