2014-07-11 71 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。如果沒有什麼你想要從發佈中排除,我建議不要使用包含模式。