2011-09-26 106 views
5

我知道,我們可以很好地一起使用ANT和Maven來構建項目。我們可以通過Maven的POM.xml運行ANT腳本。但我的問題是我們可以通過ANT的build.xml運行pom.xml嗎? 即我們可以從build.xml創建maven版本我們可以在ANT中使用pom.xml

回答

8

是的,使用maven ant tasks

該頁面列出了可以集成到一個ant構建腳本中的多個maven任務,從而結合了這兩個功能。舉一個例子,有mvn task,據文檔可以從螞蟻做一個完整的maven構建。

<artifact:mvn mavenHome="/path/to/maven-3.0.x"> 
    <arg value="install"/> 
    </artifact:mvn> 

除此之外,還有

  • 依賴任務
  • 安裝和部署任務
  • 出海任務

每個舉例說明。

+1

雖然這可能在理論上回答這個問題,但[這將是更可取的](http://meta.stackexchange.com/q/8259)在這裏包括答案的基本部分,並提供供參考的鏈接。 – oers

+0

@Raghuram,感謝您的鏈接。但是,您能否藉助任何示例詳細說明您的答案,請致電 – Sachchidanand

+0

@Gaurav。其實鏈接有你需要的所有信息。無論如何,我已經闡述了答案。請編輯您的問題與您需要的具體信息,並有人可以提供幫助。 – Raghuram

1

MavenANT是非常不同的構建工具。在ANT中,你自己編寫所有的邏輯,而標準的構建過程是用Maven「烘焙」的。 POM文件不包含邏輯,而是包含一系列有關項目的聲明。

如果你很好地理解Maven是如何工作的,理論上可以採用一個POM並生成一個模仿Maven構建行爲的ANT構建。我不知道任何可以輕鬆轉換到另一個方向的解決方案,主要是因爲ANT缺少Maven功能,例如依賴管理。

我不建議將ANT構建轉換爲Maven,而是建議您保留現有的構建邏輯並將類路徑的管理委派給ivyMaven ANT任務。這些工具還提供了將構建輸出發佈到Maven存儲庫的任務,使您的項目可以使用Maven與其他項目共享。

最後,我是一個ivy擁護者,並編寫了一個ant2ivy腳本,可以幫助升級過程。它創建一組初始配置文件,用於從Maven中央存儲庫下載項目依賴關係。

相關問題