<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    qileilove

    blog已經轉移至github,大家請訪問 http://qaseven.github.io/

    使用Archetype生成項目骨架

    3.5 使用Archetype生成項目骨架

    Hello World項目中有一些Maven的約定:在項目的根目錄中放置pom.xml,在src/main/java目錄中放置項目的主代碼,在src/test/java中放置項目的測試代碼。之所以一步一步地展示這些步驟,是為了能讓可能是Maven初學者的你得到最實際的感受。我們稱這些基本的目錄結構和pom.xml文件內容稱為項目的骨架,當第一次創建項目骨架的時候,你還會饒有興趣地去體會這些默認約定背后的思想,第二次,第三次,你也許還會滿意自己的熟練程度,但第四、第五次做同樣的事情,你可能就會惱火了。為此Maven提供了Archetype以幫助我們快速勾勒出項目骨架。

    還是以Hello World為例,我們使用maven archetype來創建該項目的骨架,離開當前的Maven項目目錄。

    如果是Maven 3,簡單地運行:

    1. mvn archetype:generate 

    如果是Maven 2,最好運行如下命令:

    1. mvn org.apache.maven.plugins:mavenarchetype
      plugin:2.0alpha5:generate  

    很多資料會讓你直接使用更為簡單的 mvn archetype:generate 命令,但在Maven 2中這是不安全的,因為該命令沒有指定Archetype插件的版本,于是Maven會自動去下載最新的版本,進而可能得到不穩定的SNAPSHOT版本,導致運行失敗。然而在Maven 3中,即使用戶沒有指定版本,Maven也只會解析最新的穩定版本,因此這是安全的。具體內容見7.7節。

    我們實際上是在運行插件mavenarchetypeplugin,注意冒號的分隔,其格式為 groupId:artifactId:version:goal,org.apache.maven.plugins 是maven官方插件的groupId,mavenarchetypeplugin 是Archetype插件的artifactId,2.0alpha5 是目前該插件最新的穩定版,generate是要使用的插件目標。

    緊接著會看到一段長長的輸出,有很多可用的Archetype供選擇,包括著名的Appfuse項目的Archetype、JPA項目的Archetype等。每一個Archetype前面都會對應有一個編號,同時命令行會提示一個默認的編號,其對應的Archetype為mavenarchetypequickstart,直接回車以選擇該Archetype,緊接著Maven會提示輸入要創建項目的groupId、artifactId、version以及包名package。如下輸入并確認:

    1. Define value for groupId: : com.juvenxu.mvnbook  
    2. Define value for artifactId: : helloworld  
    3. Define value for version:  1.0SNAPSHOT: :  
    4. Define value for package:  com.juvenxu.mvnbook: : 
      com.juvenxu.mvnbook.helloworld  
    5. Confirm properties configuration:  
    6. groupId: com.juvenxu.mvnbook  
    7. artifactId: helloworld  
    8. version: 1.0SNAPSHOT  
    9. package: com.juvenxu.mvnbook.helloworld 
    10. Y: : YArchetype

    插件將根據我們提供的信息創建項目骨架。在當前目錄下,Archetype插件會創建一個名為helloworld(我們定義的artifactId)的子目錄,從中可以看到項目的基本結構:基本的pom.xml已經被創建,里面包含了必要的信息以及一個junit依賴;主代碼目錄src/main/java已經被創建,在該目錄下還有一個Java類com.juvenxu.mvnbook.helloworld.App,注意這里使用到了剛才定義的包名,而這個類也僅僅只有一個簡單的輸出Hello World!的main方法;測試代碼目錄src/test/java也被創建好了,并且包含了一個測試用例com.juvenxu.mvnbook.helloworld.AppTest。

    Archetype可以幫助我們迅速地構建起項目的骨架,在前面的例子中,我們完全可以在Archetype生成的骨架的基礎上開發Hello World項目以節省大量時間。

    此外,這里僅僅是看到了一個最簡單的Archetype,如果有很多項目擁有類似的自定義項目結構以及配置文件,則完全可以一勞永逸地開發自己的Archetype,然后在這些項目中使用自定義的Archetype來快速生成項目骨架。本書后面的章節會詳細闡述如何開發Maven Archetype。

    Maven2創建Java項目

    1、打開命令行窗口,顯示在保存項目的位置;

    2、創建JAVA項目

         命令:mvn archetype:generate

    * 輸入需要創建的項目,這里創建普通java項目,按照選擇輸入15,默認就可以了; 
    Define value for groupId :輸入組織ID; 
    Define value for groupId :輸入項目名稱; 
    Define value for version :輸入版本號,可以直接回車,默認是1.0-SNAPSHOT; 
    Define value for package :java的包名,如com.shichao; 
    完成以上輸入后,命令行顯示以上信息,輸入y 即完成創建.

    3、將maven項目轉化為eclipse項目

          mvn eclipse:eclipse

          maven將生成eclipse需要的配置文件,形成eclipse項目(如.project文件); 
          打開eclipse,菜單選擇:file>import>general>existing projects into workspace,在對話框中選中目錄,導入即可;

    4、清除eclipse項目相關配置

         mvn eclipse:clean

         maven將清除項目中eclipse配置文件

     

    Maven2創建WEB項目

          在maven的工作空間(這里的工作空間即將要存放所創建的Web項目文件夾的文件夾。如E:\maven)中執行如下的命令:

          mvn archetype:create -DgroupId=com.javaeye.webfoo -DartifactId=webfoo -DarchetypeArtifactId=maven-archetype-webapp

          再將項目導入eclipse即可!

    posted on 2014-03-12 11:35 順其自然EVO 閱讀(5147) 評論(0)  編輯  收藏 所屬分類: 持續集成maven

    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    導航

    統計

    常用鏈接

    留言簿(55)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 国产成人亚洲精品青草天美| 亚洲综合色一区二区三区小说| 色一情一乱一伦一视频免费看| 免费网站看v片在线香蕉| 亚洲中文字幕无码av在线| 最近免费中文字幕高清大全| 成人无遮挡毛片免费看| 久久亚洲最大成人网4438| 午夜宅男在线永久免费观看网| 亚洲同性男gay网站在线观看| 四虎免费影院ww4164h| 亚洲精品福利在线观看| 在线永久免费的视频草莓| 亚洲a级片在线观看| 在线观看成人免费| mm1313亚洲国产精品无码试看| 国产jizzjizz免费看jizz| 美女被免费网站在线视频免费| 亚洲成a人片在线观看老师| 未满十八私人高清免费影院| 国产亚洲欧洲Aⅴ综合一区| 在线观看片免费人成视频无码| 中文字幕久久亚洲一区| 亚洲国产精品无码一线岛国| 亚洲综合免费视频| 国产精品69白浆在线观看免费| 在线观看日本亚洲一区| 中文字幕无码免费久久| 久久青青草原亚洲av无码app | 99re热精品视频国产免费| 亚洲精品视频久久久| 成在线人视频免费视频| 久久亚洲精品AB无码播放| 91免费人成网站在线观看18| 国产亚洲精品成人AA片| 免费在线观看污网站| 三级毛片在线免费观看| 久久精品国产亚洲av高清漫画| 91在线视频免费看| 国产亚洲精品成人久久网站| 在线播放亚洲第一字幕|