2013-02-27 30 views
-3

這是一個新的蜜蜂在這方面。如何將pom.xml轉換爲build.xml

在下面的pom.xml中有一部分,我需要在ant buid.xml中進行更改。

我該怎麼做?我能得到任何的幫助教程或任何人能解釋一下

<dependency> 
    <groupId>com.ask.core</groupId> 
    <artifactId>wzlogging</artifactId> 
    <version>1.5</version> 
    <exclusions> 
     <exclusion> 
      <groupId>javax</groupId> 
      <artifactId>javaee-api</artifactId> 
     </exclusion> 
     <exclusion> 
      <groupId>org.glassfish.extras</groupId> 
      <artifactId>glassfish-embedded-all</artifactId> 
     </exclusion> 
    </exclusions> 
</dependency> 
+0

你已經有了'build.xml'嗎? – parsifal 2013-02-27 20:41:32

+4

POM與build.xml文件無關,就像Maven與Ant沒有關係一樣。但是,如果將Ivy整合到Ant環境中,則可以使用[convertpom](http://ant.apache.org/ivy/history/trunk/use)將POM轉換爲ivy.xml文件/convertpom.html)任務。 – Perception 2013-02-27 20:41:53

+0

我不需要轉換整個東西只有我上面提到的那部分,所以不是我的選擇 – Aka 2013-02-27 20:49:16

回答

2

在理論上有可能產生一個Ant構建文件(使用XSLT?),但一會要明白,每個插件實現的邏輯。在實踐中,只有簡單的Maven構建是可行的候選。

ANT和Maven是非常不同的構建技術。在ANT中,您明確地將所有構建邏輯寫入「build.xml」文件。另一方面,Maven的大部分功能都在其中。「pom.xml」不包含邏輯,而是用於記錄有關項目的元信息(例如依賴關係列表)。

來自ANT世界,這可能是非常混亂的,特別是當你想定製你的構建。在Maven中,這是通過聲明插件來完成的,該插件理解標準構建生命週期並能夠將自己插入到構建的正確部分。

這個冗長的解釋的目的是爲了理解只通過查看POM文件就知道你的插件在做什麼是不可能的。

@Perception推薦常春藤。以下的答案必須是有關(從ANT轉換爲Maven的):

+2

您可以使用'mvn ant:ant'將腳本轉換爲等同的任務(假設標準插件)。但是,OP似乎並不關心整個腳本,只是轉換依賴關係。但是,不管他/她是否需要檢索依賴項,應用排除項,還是完全不同的內容都不可能從問題中分辨出來。 – parsifal 2013-02-27 20:56:49

+0

這個問題被問及如何從Maven轉換爲純粹的Apache Ant,這嚴格來說是不可能的,因爲ant不支持沒有Ivy的項目依賴管理。我不認爲任何XML轉換都可以做到這一點。上面提到的鏈接涉及到螞蟻項目到Aaven,這是一個完全不同的動物(完全可能)。 – RudolphEst 2013-02-27 20:58:22

+0

@parsifal我從來不知道,Maven支持一個螞蟻插件,它允許用戶完全沒有maven地構建項目。我將不得不閱讀那些。 – RudolphEst 2013-02-27 21:02:11

1

Maven和螞蟻有很大的不同的工具。

Ant主要是構建工具,這意味着它知道如何編譯和打包源代碼並運行測試,但無法管理項目依賴關係。 Ant使用build.xml文件來定義在哪裏找到源代碼以及構建項目需要採取哪些步驟。

Maven不僅僅是一個構建工具,它還是一個項目管理工具。它允許您在pom.xml proect定義中定義依賴關係,以及構建,測試和分發應用程序。它也允許子項目,父項目以及許多其他功能的插件。 Maven會自動下載依賴項並管理這些項目之間的依賴關係。

簡而言之,無法將Maven POM項目轉換爲Ant構建。

還有一些替代方案允許在ant構建中使用二元maven依賴關係。例如,看看Ivy dependency manager

1

Maven有一個有用的Ant插件可以很容易地從Maven pom.xml生成一個Ant構建文件。 使用這個maven目標:mvn ant:ant。

在eclipse中:簡單地爲maven構建生成另一個運行配置。將其命名爲「Antfile generate」。在「目標」字段輸入ant:ant。將這些更改應用於您的新運行配置。 Typ運行以開始構建。在控制檯日誌中,您收到一條消息

[INFO]將PROJECTNAME的Ant項目編寫爲。

相關問題