2012-09-19 137 views
0

我有一個Java應用程序,我可以在CLI上使用maven編譯它,我有幾個構建腳本將Java代碼部署到遠程服務器並使用代碼編譯Maven,但不幸的是編譯失敗,同時使用Jenkins的構建腳本進行編譯。當我嘗試編譯遠程服務器上的代碼時,構建成功。錯誤日誌如下:Jenkins編譯使用Maven編譯java代碼失敗

[WARNING] The POM for org.im4java:im4java:jar:1.3.2 is missing, no dependency information available 
[WARNING] The POM for com.aliyun:aliyun-openservices:jar:1.0.0-20120705 is missing, no dependency information available 
[INFO] ------------------------------------------------------------------------ 
[INFO] Reactor Summary: 
[INFO] 
[INFO] GuestPath Project ................................. SUCCESS [5.183s] 
[INFO] guestchat biz module .............................. FAILURE [4.001s] 
[INFO] GuestChat Web Common .............................. SKIPPED 
[INFO] GuestChat Portal Webapp ........................... SKIPPED 
[INFO] guestchat openapi Webapp .......................... SKIPPED 
[INFO] guestchat chat server ............................. SKIPPED 
[INFO] guestchat service dashboard Webapp ................ SKIPPED 
[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD FAILURE 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 10.518s 
[INFO] Finished at: Wed Sep 19 10:49:39 CST 2012 
[INFO] Final Memory: 9M/23M 
[INFO] ------------------------------------------------------------------------ 
[ERROR] Failed to execute goal on project guestchat-biz: 
Could not resolve dependencies for project com.guestops.guestchat:guestchat-biz:jar:1.0.0-SNAPSHOT: 
The following artifacts could not be resolved: 
org.im4java:im4java:jar:1.3.2, com.aliyun:aliyun-openservices:jar:1.0.0-20120705: 
Failure to find org.im4java:im4java:jar:1.3.2 in http://repo.maven.apache.org/maven2 
was cached in the local repository, resolution will not be reattempted until 
the update interval of central has elapsed or updates are forced -> [Help 1] 

我希望我所清楚的是,任何幫助表示高度讚賞。我可以提供更多的細節,如果需要..提前感謝!

+0

嘗試做一個MVN全新安裝 – Satya

+0

嘗試過這樣做了,我得到了同樣的錯誤!它是否有做一些與安全作爲它的部署和在遠程系統上編譯?因爲我沒有問題在遠程系統上手動編譯問題。感謝您的回覆,儘管 – Uday

+0

做了一個mvn乾淨安裝-U – Satya

回答

2

我想你應該儘量做到以下幾點:

  1. 嘗試在本地編譯項目,但要確保您下載從Maven倉庫的文物。根本上,你可以通過重命名你的〜user/.m2/repository並運行''mvn clean install''來實現。

  2. 如果編譯 - 你的本地maven配置正確,而且它不是pom.xml問題。另外遠程倉庫在maven中配置正確。在這種情況下,它的jenkins問題,或者更確切地說,與jenkins安裝在同一臺機器上的maven問題,或者可能是一些與網絡/安全相關的問題(例如與遠程存儲庫的連接被防火牆阻止,並且無法從jenkins機器等訪問)。

我建議簽出庫配置上行家,或者如果你想簽出詹金斯機上項目的源代碼和手動運行從機器上面描述的第一步。你應該看到代碼不能被編譯,並得到你現在得到的同樣的錯誤。

現在,如果在第一步期間項目無法編譯 - 僅僅因爲你已經依賴缺乏的模塊,並且它們以某種方式呈現在本地存儲庫中(我以前認爲它可以在本地編譯)因爲我們正在運行一個乾淨的安裝,本地存儲庫'被清除'。在這種情況下,你應該找出你的依賴來自哪裏。 之類的東西

MVN依賴性:出現故障的模塊

樹可以幫助這裏。

希望這將有助於在某種程度上

+0

終於明白了,這是一個安全問題..謝謝你的幫助! – Uday

+1

@Uday安全問題?你能否在這裏詳細解答答案?這裏介紹的信息並不意味着以任何方式存在安全問題。 – eis

0

2個可以快速解決方案:

  1. 如果本地編譯,然後去上詹金斯構建配置,並檢查「投票SCM」選項上做每次構建投票。

  2. 從Jenkins服務器mvn clean install上的命令行運行,並確保在構建之後,工件在Maven存儲庫中可用。如果不是,請下載相關版本的jar並將它們放入本地maven存儲庫(在Jenkins服務器上)。

祝你好運!

+0

感謝大家的即時答覆 – Uday

0

這是錯誤消息告訴你:

以下工件無法解析: org.im4java:im4java:罐子:1.3.2, com.aliyun:阿里雲-openservices:罐子:1.0.0-20120705:未能找到 org.im4java:im4java:罐子:1.3.2 http://repo.maven.apache.org/maven2

所以,你必須引用在你的pom中爲im4java 1.3.2和aliyun-openservices 1.0.0-20120705,但這些在一般的maven repo中都找不到。如果你做了search for im4java in mvnrepository.com,你會看到it only has version 1.2,所以它會失敗是合理的。 aliyun-openservices軟件包根本就不存在。

那麼,那些應該在哪裏被發現?也許你只是在本地安裝它們而不是Jenkins機器?

你可以做什麼的話,要麼是

  1. (推薦)建立企業內部網的Maven的回購協議,你將部署需要的庫,並說明或
  2. 運行詹金斯
  3. 在本地機器上安裝它們

這兩個都應該解決這個問題。

0

快速查看maven repository,只有版本1.2.0可用,而不是版本1.3.2(您正在使用)。

您的代碼是否使用maven構建進行編譯?

我建議你儘量審查詹金斯實例庫設置