maven構建simple project

打開Eclipse->File->New->Ohter(如圖1新建maven)或者按Ctrl+N的熱鍵進入新建選項,css

image圖1 新建mavenjava

找到Maven文件夾或者在Wizards輸入Maven會出現(如圖2選擇新建MavenProject),選中Maven Project 點next,web

image圖2 選擇新建MavenProjectspring

看到(如圖3:建立一個新的Maven project)有3個選項,分別是apache

Create a simple project (skip archetype selection) :建立一個簡單的項目(跳過對原型模板的選擇)[默認勾選]瀏覽器

User default Workspace location:使用本地默認的工做空間服務器

--Loaction:本地工做空間目錄eclipse

Add project(s) to working set :增長項目到工做集ssh

image圖3  建立一個新的Maven projectmaven

若是要按照本身的想法建立項目的話,能夠選擇第1個,第二個的話是根據Maven設置中Archetypes來選擇對應的原型模板,第三個是能夠把把其餘項目引入到當前工做目錄(沒有限制是不是maven項目).

Advanced(高級)(如圖4:新建Maven項目高級選項):

image  圖4 新建Maven項目高級選項

該選項正如上面的意思所說解決工做空間中的項目 Profiles(因爲我項目中沒有用到該高級屬性,暫時只能大概猜想一下其功能,若是誰知道的話麻煩留言謝謝)大概跟setting中的<profiles>標籤對應,而Name template對應的是Eclipse中所建立Maven2項目的名稱,也就是你那個項目的groupId,artifcatId那個.

把第二個勾去掉,這裏首先帶你們建立一個項目,勾選第一個,而後按next,會出現(如圖5:簡單項目)

image圖5 簡單項目

Artifact(神器?)

-------Group Id:組Id,針對一個項目的廣泛惟一識別符。至關於咱們平常使用的包名,例如:org.lxh

-------Artifact Id:要新建的項目的名字

-------Version:版本號,默認0.0.1-SNAPSHOT

-------Packing:要將該項目生成什麼類型,有jar,war,ejb,ear,rar,pom,maven-plugin,maven-archetype,osgi-bundle,eclipse-plugin

-------Name:名字(估計是模板的名字)

-------Description:說明

Parent Project(父項目)以以前的項目做爲基礎新建項目,點Browse出現(如圖6:選擇項目),能夠以原有的項目做爲基礎新建,必須爲Jar或者pom才行

image圖6選擇項目

Advanced(高級)[如圖7:simple project 的高級選項]高級選項同新建maven project時候剛開始的功能是同樣的,因此就很少敘述了

如圖7simple project 的高級選項

輸入(如圖8:開始建立Maven Project)信息後出現(如圖9:添加依賴項目),點擊Add出現(如圖10:輸入依賴項目名稱)輸入相應你須要的Jar包,例如org.springframework,maven會根據你所輸入的Group Id或者Artifact Id優先搜尋默認的遠程中央倉庫(http://repo1.maven.org/maven2)

圖8開始建立Maven Project         

image圖9 添加依賴項目

image圖10 輸入依賴項目名稱               

 

 

 

 

 

 

選擇相應的依賴項目,會最早顯示目前最新版本,或者你能夠單擊選擇其餘版本(如圖11:選擇其餘版本依賴項目),選中後(如圖12:選中項目後的列表),最後按finish而後,maven會從遠處服務器中講所選的依賴項目下載到本地倉庫中.

image如圖11 選擇其餘版本依賴項目

image

如圖12 選中項目後的列表

最後生成的項目(如圖13:生成後的maven項目)分別有如下幾個目錄

image圖13 生成後的maven項目

src/main/java:主要編碼的目錄

src/main/resource:資源目錄.如:spring的xml.Java配置properties

src/test/java:測試的代碼

src/test/resource:測試的資源.如:spring的xml.Java配置properties

JRE System Library:Java運行環境,默認JavaSE1.4,須要修改,若是要統一更改的話請更改setting.xml中的文件,

setting.xml以下(詳細請參考文章---修改Maven項目的編譯級別[http://gzyangfan.spaces.live.com/blog/cns!6AC933E7557ED503!471.entry]):

<profile>
        <id>jdk-1.6</id>
        <activation>
          <activeByDefault>true</activeByDefault>
            <jdk>1.6</jdk>
       </activation>
        <properties>
           <maven.compiler.source>1.6</maven.compiler.source>
            <maven.compiler.target>1.6</maven.compiler.target>
           <maven.compiler.compilerVersion>1.6</maven.compiler.compilerVersion>
       </properties>
  </profile>

Maven Dependencies:Maven的依賴項目,包括該項目下的依賴包

src:對應src/main/java與src/test/java的class文件夾.

target:目標文件生成,例如要將項目生成jar就會生成到這個目錄下

pom.xml:maven項目的配置文件.

對於pom.xml其標籤說明以下:

1. parent 給出父項目的位置,若是存在上一級父項目的話。若是沒有特別指出的話,值就是父項目對於當前項目而言。位置是一個 as a group ID, artifact ID 和version元素的組合。
2.modelVersion 描述這個POM文件聽從哪一個版本的項目描述符.
3.groupId 針對一個項目的廣泛惟一識別符。一般用一個徹底正確的包的名字來與其餘項目的相似名字來進行區分(好比:org.apache.maven)
4.artifactId 在給定groupID 的group裏面爲artifact 指定的標識符是惟一的 artifact 表明的是被製做或者被一個project應用的組件。對於Maven項目的artifact 的例子包括:一些JARs, 原代碼以及二進制的發佈以及WARs.
5.packaging 這個項目生產出來的artifact 類型,舉個例子 jar war pom Plugins 可以建立他們本身的包,包括包的類型,因此這個列表不可能包含全部可能的類型
6.name 當前項目的全稱
7.version 當前項目產生的artifact的當前版本
8.description 當前項目的一個細節描述,當須要描述這個項目的時候被Maven所用,好比在web 站點中。 這個元素可以被指定爲CDATA 類型,容許在描述器中HTML的tags, 並不鼓勵用空白文原本表示。 若是你須要去修改生成的web 站點的索引頁,你可以用你本身的索引來代替自動生成的文本。
9.url 當前項目的主頁的URL
10.prerequisites 描述當前項目的編譯環境的先決條件
11.issueManagement 當前項目的發佈管理信息。
12.ciManagement 當前項目的連續集成信息。
13.inceptionYear 當前項目開始的年份, 用4位數字描述. 涉及到介紹狀況時用做提供版權信息
14.mailingLists 包含的信息包括郵件列表
15.developers 描述當前的項目的開發人員的信息
16.contributors 描述對當前項目有貢獻的人員的信息,不特指開發人員
17.licenses 這個元素描述了當前項目的全部的許可文件。每個許可文件用一個許可元素來描述,而後描述額外的元素. 一般只列出適用於這個項目的許可文件以及適用於 依賴的非licenses。若是多個licenses都列出來了,那麼假設這個用戶選擇其中的所需的,而不是接受全部的許可文件。
18.scm 指定當前項目中的版本控制工具,好比CVS, Subversion, 等等。
19.organization 這個元素描述這個項目所屬組織的各類屬性的描述。這些屬性應用於文檔建立的時候 (版權通知和連接).
20.build 建立項目時必須的信息。
21.profiles 本地項目編譯檔案文件時的列表,被激活時會修改build的過程
22.modules 模塊 (有時被叫作子項目)做爲當前項目的一部分.每個被列出來的子模塊都指向包含這個模塊的目錄文件的相對路徑
23.repositories 發現依賴和擴展的遠程資源庫
24.pluginRepositories 發現plugins 的遠程資源庫的列表,主要是爲了編譯和報告
25.dependencies 這個元素描述了全部與當前項目相關的依賴.這些依賴被用做建立一個編譯時的路徑. 他們被自動的從資源庫中下在下來依據當前項目的定義。如需更多信息,參看 the dependency mechanism
26.reports Deprecated.禁止適用。如今的版本中被 Maven所忽略掉。
27.reporting 這個元素包括報告的plugins 的指定,用做Maven生成站點的自動生成報告.這些報告將會運行當用戶執行mvn site. 全部的報告將會包括在瀏覽器的導航欄中。
28.dependencyManagement 缺省的依賴信息將會從這個元素中繼承。這些依賴在這一部分中被不馬上被解決的。當一個源於這個POM的元素描述了一個依賴根據匹配的 groupId 和artifactId,這個部分的版本和其餘值用做那些尚未指定的依賴。
29.distributionManagement 對於一個項目分配的信息容許對於遠程web服務器和資源庫的site和artifacts配置。
30.properties屬性能夠做爲POM的自始自終的替換物,若是可行的話能夠用做resources 的過濾器,格式是<name>value</name>

相關文章
相關標籤/搜索