maven命令生成項目


1、預備工作(下載並配置Maven、配置Eclipse):

1 1.1 下載地址:http://maven.apache.org/download.html
2   1.2 將下載的文件解壓到本地,並在環境變量中加入Maven的bin目錄路徑。在“命令提示符”窗口中運行 mvn -version 輸出Maven版本信息,表明安裝成功。
3   1.3 打開 %Maven根目錄%/conf/settings.xml 文件,找到<localRepository>配置標籤,修改Maven本地倉庫(存放Jar包)的位置(默認爲"用戶主目錄/.m2/repository"),eg.<localRepository>F:/Dev/DevTools/repository/</localRepository>。
4   1.4 配置Eclipse:
5         Window --> Java --> Build Path --> Classpath Variables --> New,
6          Name: M2_REPO
7          Path: 修改的Mave本地倉庫目錄(eg.F:/Dev/DevTools/repository/)
  1. 使用Maven創建項目:

    打開CMD,進入要創建項目的文件夾目錄,運行命令: 
    a)建立普通Java工程: 
    mvn archetype:create -DgroupId=com.zuora.squadG.william -DartifactId=XXXTest 
    b)建立Web工程: 
    mvn archetype:create -DgroupId=com.zuora.squadG.william -DartifactId=XXXTest -DarchetypeArtifactId=maven-archetype-webapp 
    (參數:groupId後面是包名,artifactId後面是項目名稱) 
    運行結果:在該目錄下生成XXXTest項目,其中包含pom.xml配置文件。

  2. 導入有兩種方法這裏分步講解:

    1) 使用MyEclipse的普通工程導入,步驟如下:

    1> 先打開dos,在工程根目錄下(mywebapp)運行: mvn eclipse:eclipse---運行完後會發現在工程目錄下多出了兩個文件.classpath和.project,這是eclipse的工程文件,當然myeclipse也識別

    2> 在MyEclipse中使用導入功能,選擇File-->Import...-->Existing Projects into workspace,選擇工程目錄,導入即可

    3> 關聯Maven,導入後的工程只是一個普通java的工程,並不會與maven插件相關連,此時在工程上點擊右鍵-->Maven4MyEclipse-->Enable Dependency Management,這樣,這個工程就與Maven插件關聯了(關聯後工程根節點左上角上會有一個M的標識)。

    2)使用MyEclipse中的Maven工程導入,步驟如下:

    1> 在MyEclipse中使用導入功能,選擇File-->Import...-->Existing Maven Projects(這裏不同),選擇工程目錄,導入即可。---這裏導入進,MyEclipse可能會聯網更新索引,很慢,我們可以取消(在Progress面板中點那個大紅框),這時工程導進來了,但是沒有執行該有的操作,比如maven的dependcy檢查等,此時進行一下第2步操作。

    2> 更新一下工程配置,右鍵工程-->Maven4MyEclipse-->Update Project Configuration

    4. 補全工程的目錄結構,第1步中生成的maven工程目錄是不全的,比如我們的java代碼,我們的測試目錄等,現手動創建,和補全爲如下:

     

    C代碼  收藏代碼
    1. mywebapp  
    2.      +---pom.xml  
    3.      +---src  
    4.            +---main  
    5.                   +---resources  
    6.                   +---java   <<添加  
    7.                   +---webapp  
    8.                             +---index.jsp  
    9.                             +---WEB-INF  
    10.                                        +---web.xml  
    11.            +---test   <<添加  
    12.                   +---resources   <<添加  
    13.                   +---java   <<添加  
    14.      +---target   <<eclipse自動添加  
    15.            +---classes   <<eclipse自動添加  
    16.            +---test-classes   <<eclipse自動添加  

    截圖:


     

     

     

    5. 增加MyEclipse的Web Project功能

    到目前爲止,我們僅僅是把一個Maven的webapp導入到了MyEclipse中,然而在MyEclipse中,這還僅僅是一個Java普通的Maven工程,這一步我們就要爲其添加MyEclipse的web project特性。

     

    選擇工程-->MyEclipse-->Project Capabilities-->Add Web Project Capabilites,彈出窗口中設置參數如下,再接下來的彈出窗口中選擇yes。這樣我們的工程就是web工程了(注意工程圖標有變化,而且MyEclipse自動依賴了JEE的包)。


     

     

    6. 配置工程屬性,打開工程屬性面板---這一步很重要,都是些細節配置,缺一不可啊

    1) Java Build Path

    1> Source

    添加src/main/java, src/test/java, src/test/resources爲source folder, 這裏就不需要詳述了吧,點"add folder"就行。

    最小面的"default output folder"修改爲"mywebapp/src/main/webapp/WEB-INF/classes"---這點很重要

    修改這些source folder的輸出目錄,其中main/java和main/resources輸出到default output folder, 而test/java和test/resources輸出到target/test-classes中,(如何修改---點擊各節點下的Output Folder, 再點右邊的edit按鈕就行了)最後設置結果如下:


     

    2> Order And Export

    爲了顯示好看,調整一下顯示順序,不細說了,很簡單,看下圖:


    2)Java Compiler

    注意到上面的圖片中,我的工程顯示jdk爲1.4,所以要修改成我們想要的版本,這裏就不詳述了,應該都會改。


    3) Myeclipse-->Web
    這一個是用來修改設置工程的web特性的,如下圖:


     

    好了,一個MyEclipse的Web Project + Maven webapp的工程就建好了。剩下的就是在myeclipse中開發和調試web最後用maven打包,當然一定要使用maven的依賴特性(把要依賴的jar包直接在pom.xml中加入,然後刷新工程就會自動導入)。


  1. 生成Eclipse項目: 
    3.1 CMD下進入項目目錄,運行命令:

    1 mvn eclipse:eclipse -Dwtpversion=2.0 -DdownloadSources=true   -DdownloadJavadocs=true -DjdkLevel=1.6
    2     (其中後三個參數爲可選參數指明是否下載Jar包的源碼,文檔以及指明jdk的版本)
    3     運行結果: 在項目目錄下生成了Eclipse項目所需的各種配置文件(eg: .project .classpath .settiongs)

    3.2 將項目導入Eclipse。

  2. 編輯pom.xml文件,爲項目添加新的依賴 
    4.1 編輯pom文件,添加新的dependency,保存。格式如下:

[xhtml] view plaincopy 

1 <groupId>opensymphony</groupId> 
2   <artifactId>sitemesh</artifactId> 
3   <version>2.2.1</version>

1 groupId是該類庫所屬的組織,作爲Maven本地倉庫下的文件目錄,包名結構映射成目錄結構,artifactId就是具體的類庫名稱了,是groupId的一個子目錄,version是版本號,每個版本都有一個單獨的目錄,裏面放置的就是具體的jar包。關於依賴的寫法,可以在http://mvnrepository.com/ 查詢
2 4.2 在控制檯分別執行:
3        mvn eclipse:clean
4        mvn eclipse:eclipse -Dwtpversion=2.0 -DdownloadSources=true   -DdownloadJavadocs=true-DjdkLevel=1.6
5 4.3 在eclipse中刷新項目即可看到新的依賴項已經添加到eclipse項目中

PS:使用maven來管理現有Eclipse WEB項目的方法

1 前面已經介紹瞭如何新建一個maven項目並導入到eclipse中,但對於已有的wtp項目,其項目佈局是不符合maven方式的(eclipse下wtp項目web目錄在項目根目錄下WebContent,maven佈局是在src/main/webapp),這就不能直接通過eclipse:eclipse來生成eclipse的依賴

但可以通過改寫項目pom文件來指定源碼目錄或測試源碼目錄: 
[xhtml] view plaincopy 

1 <finalName>${pom.artifactId}</finalName> 
2     <directory>build</directory> 
3  
4     <sourceDirectory>src</sourceDirectory> 
5     <outputDirectory>build/classes</outputDirectory>

1 ps.1 建立eclipse普通的web項目。
2    ps.2 在項目根目錄下添加pom.xml文件。例如(主要是builder標籤內容):

[xhtml] view plaincopy 
<project xmlns=“http://maven.apache.org/POM/4.0.0” xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance”

01 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"
02 <modelVersion>4.0.0</modelVersion> 
03 <groupId>com.zuora.squadG.william</groupId> 
04 <artifactId>SitemeshTest2</artifactId> 
05 <packaging>war</packaging> 
06 <version>1.0-SNAPSHOT</version> 
07 <name>SitemeshTest2 Maven Webapp</name> 
08 <url>http://maven.apache.org</url> 
09 <dependencies> 
10     <dependency> 
11         <groupId>junit</groupId> 
12         <artifactId>junit</artifactId> 
13         <version>3.8.1</version> 
14         <scope>test</scope> 
15     </dependency> 
16     <dependency> 
17         <groupId>opensymphony</groupId> 
18         <artifactId>sitemesh</artifactId> 
19         <version>2.2.1</version> 
20     </dependency> 
21 </dependencies> 
22  
23 <build> 
24     <finalName>${pom.artifactId}</finalName> 
25     <directory>build</directory> 
26  
27     <sourceDirectory>src</sourceDirectory> 
28     <outputDirectory>build/classes</outputDirectory> 
29  
30 </build>

1 ps.3 在cmd中進入項目根目錄,運行命令(注意不需要mvn eclipse:clean):
2        mvn eclipse:eclipse -Dwtpversion=2.0 -DdownloadSources=true   -DdownloadJavadocs=true-DjdkLevel=1.6
3   ps.4 在eclipse中刷新並重新編譯項目。
4   ps.5 在項目根目錄的".setting"文件夾下找到文件 org.eclipse.wst.common.component 並在其中<project-modules>便籤下添加: <wb-resource deploy-path="/" source-path="/WebContent"/> (如果已經存在 <wb-resource deploy-path="/" source-path="/src/main/webapp"/>則覆蓋之)。
5   OK。但記得每次在使用mvn命令重新構建依賴關係時都要進行ps.5的操作,原因就是mvn命令默認生成的web內容路徑是"/src/main/webapp",我現在還沒找到配置這一路徑的方法,等待高人指點,Thanks!!
發佈了5 篇原創文章 · 獲贊 0 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章