2015-10-07 60 views
0

我想使用Maven構建我的下一個Java項目。 所以我有一些關於Maven的問題,然後馬上開始。兩個Maven基礎知識/需求和第一個項目問題

  1. 是否需要安裝Maven?或者可以將Maven二進制文件複製到系統(Windows)並以相同的方式使用。

  2. 設置需要的Maven項目? 從Maven的教程中,我已經看到了,在Maven的第一步是設置一個Maven項目是這樣的:

    mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

這是爲什麼?編寫一個POM文件不夠,當我只想編譯一些Java文件幷包含一些jar文件時?

+2

Maven可以通過簡單的解壓縮包來安裝,並將bin文件夾放在'PATH'上。 「mvn archetype:generate」所做的就是創建一個項目結構以及pom.xml。我通常通過IDE新項目和maven項目創建一個maven項目,這使您有機會選擇代作爲過程的一個步驟。 – hotzst

回答

2

問題1(安裝):

那麼它大多是簡單的拷貝,添加到路徑,並運行。

但是在現實世界中還有一點不止於此。例如, - 在一家公司中,您可能希望擁有公司中央存儲庫代理。你需要做一些額外的設置在任何HOME/.m2/settings.xmlMVN_DIR/conf/settings.xml(祝我記得正確的路徑:P)

  • 您可能希望把本地資源庫在某些情況下,不同的目錄,你還需要更改settings.xml

  • 爲了建設大項目工程,您可能需要調整M2_OPTS環境變量。

  • 等等

所有這些都是你需要(儘管不是很難)額外的手動安裝工作

問題2(原型):

你是其實是對的。你可以簡單地編寫你自己的pom.xml,忘記原型(這也是我以前的工作:))。您可以將Archetype視爲一些模板項目生成功能,以便您可以生成一些預定義的項目類型,並且POM中的基本項目目錄結構,所需的依賴關係和設置均可爲您完成。當然,你甚至可以提供你自己的原型,這樣你公司的新項目就可以利用它們來符合你想要的準則或標準。

2
  1. 是否需要安裝Maven?或者可以將Maven二進制文件複製到系統(Windows)並以相同的方式使用。

Maven的捆綁爲zip歸檔that you just need to unzip。然後您需要將bin目錄添加到PATH環境變量中,然後您就可以開始使用了。

  1. 設置Maven項目需要嗎?從Maven的教程中,我已經看到了,在Maven的第一步是設置一個Maven項目是這樣的:

    mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false 
    

有多種方式來創建一個Maven項目。然而,重要的是要記住,一個Maven項目只能歸結爲一個pom.xml文件。該文件將位於您的項目的根目錄下。所以你說得對,「寫POM文件就夠了」。

現在,由於Maven是一個在convention-over-configuration principle下構建的工具,因此已經創建了幾個實用程序來幫助遵守Maven的基本約定。其中一個公用程序是maven-archetype-plugin,通過致電mvn archetype:generate調用。此實用程序將創建一個基本的pom.xml文件以及standard directory layout

如果您使用的是IDE,您也可以使用此IDE的相應Maven插件(例如用於Eclipse的,這是M2Eclipse插件)創建Maven項目。

1

答到第一個問題:
Maven是在分佈式二進制format.You提供只需要下載它,並在你的本地計算機中提取它。然後,您必須創建一個名爲M2_HOME的用戶變量(有時還需要M2_OPTS)並將其添加到PATH變量。這就是你需要設置基本需求的全部內容。
如果您的系統位於某個代理網絡內,則必須執行一項附加設置。這就是複製secuirity xml,它在下載的文件中可用,並根據您的網絡修改其中的元素值。
對第一個問題的回答:
您第一次需要使用您指定的命令。一旦你獲得了文件結構,你可以根據你的需要重新使用它。 但記住要遵循預定義的文件結構,否則你肯定會遇到麻煩。

但是,使用maven命令創建項目總是可取的,因爲它會爲您做很多事情,如果您選擇手動創建Maven項目,您可能必須手動執行這些操作。