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

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

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

    qileilove

    blog已經(jīng)轉(zhuǎn)移至github,大家請(qǐng)?jiān)L問(wèn) http://qaseven.github.io/

    使用Archetype生成項(xiàng)目骨架

    3.5 使用Archetype生成項(xiàng)目骨架

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

    還是以Hello World為例,我們使用maven archetype來(lái)創(chuàng)建該項(xiàng)目的骨架,離開(kāi)當(dāng)前的Maven項(xiàng)目目錄。

    如果是Maven 3,簡(jiǎn)單地運(yùn)行:

    1. mvn archetype:generate 

    如果是Maven 2,最好運(yùn)行如下命令:

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

    很多資料會(huì)讓你直接使用更為簡(jiǎn)單的 mvn archetype:generate 命令,但在Maven 2中這是不安全的,因?yàn)樵撁顩](méi)有指定Archetype插件的版本,于是Maven會(huì)自動(dòng)去下載最新的版本,進(jìn)而可能得到不穩(wěn)定的SNAPSHOT版本,導(dǎo)致運(yùn)行失敗。然而在Maven 3中,即使用戶(hù)沒(méi)有指定版本,Maven也只會(huì)解析最新的穩(wěn)定版本,因此這是安全的。具體內(nèi)容見(jiàn)7.7節(jié)。

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

    緊接著會(huì)看到一段長(zhǎng)長(zhǎng)的輸出,有很多可用的Archetype供選擇,包括著名的Appfuse項(xiàng)目的Archetype、JPA項(xiàng)目的Archetype等。每一個(gè)Archetype前面都會(huì)對(duì)應(yīng)有一個(gè)編號(hào),同時(shí)命令行會(huì)提示一個(gè)默認(rèn)的編號(hào),其對(duì)應(yīng)的Archetype為mavenarchetypequickstart,直接回車(chē)以選擇該Archetype,緊接著Maven會(huì)提示輸入要?jiǎng)?chuàng)建項(xiàng)目的groupId、artifactId、version以及包名package。如下輸入并確認(rèn):

    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

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

    Archetype可以幫助我們迅速地構(gòu)建起項(xiàng)目的骨架,在前面的例子中,我們完全可以在Archetype生成的骨架的基礎(chǔ)上開(kāi)發(fā)Hello World項(xiàng)目以節(jié)省大量時(shí)間。

    此外,這里僅僅是看到了一個(gè)最簡(jiǎn)單的Archetype,如果有很多項(xiàng)目擁有類(lèi)似的自定義項(xiàng)目結(jié)構(gòu)以及配置文件,則完全可以一勞永逸地開(kāi)發(fā)自己的Archetype,然后在這些項(xiàng)目中使用自定義的Archetype來(lái)快速生成項(xiàng)目骨架。本書(shū)后面的章節(jié)會(huì)詳細(xì)闡述如何開(kāi)發(fā)Maven Archetype。

    Maven2創(chuàng)建Java項(xiàng)目

    1、打開(kāi)命令行窗口,顯示在保存項(xiàng)目的位置;

    2、創(chuàng)建JAVA項(xiàng)目

         命令:mvn archetype:generate

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

    3、將maven項(xiàng)目轉(zhuǎn)化為eclipse項(xiàng)目

          mvn eclipse:eclipse

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

    4、清除eclipse項(xiàng)目相關(guān)配置

         mvn eclipse:clean

         maven將清除項(xiàng)目中eclipse配置文件

     

    Maven2創(chuàng)建WEB項(xiàng)目

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

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

          再將項(xiàng)目導(dǎo)入eclipse即可!

    posted on 2014-03-12 11:35 順其自然EVO 閱讀(5148) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): 持續(xù)集成maven

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

    導(dǎo)航

    統(tǒng)計(jì)

    常用鏈接

    留言簿(55)

    隨筆分類(lèi)

    隨筆檔案

    文章分類(lèi)

    文章檔案

    搜索

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 香蕉国产在线观看免费| 日本免费电影一区| 二个人看的www免费视频| 亚洲人成77777在线播放网站不卡 亚洲人成77777在线观看网 | 人人爽人人爽人人片av免费| 国产成人精品日本亚洲网址 | caoporn成人免费公开| 亚洲色大成网站www永久网站| 午夜亚洲www湿好大| 亚洲最大AV网站在线观看| 国产又大又长又粗又硬的免费视频| 波多野结衣免费在线观看| 无码国产精品一区二区免费vr | 久久精品国产亚洲7777| 国产一级淫片免费播放| 全免费a级毛片免费看不卡| 黄页网站免费观看| 57pao一国产成永久免费| 免费高清国产视频| 热99RE久久精品这里都是精品免费 | 最近更新免费中文字幕大全| 成人免费观看男女羞羞视频| 国产精品亚洲天堂| 亚洲AV无码AV男人的天堂不卡| 美女视频黄免费亚洲| 亚洲三级在线观看| 亚洲乱码一区二区三区国产精品| 亚洲国产精品成人综合久久久| 亚洲最大中文字幕| 亚洲喷奶水中文字幕电影| 亚洲乱人伦精品图片| 亚洲视频免费在线看| 亚洲熟妇无码爱v在线观看| 亚洲精品日韩专区silk| 亚洲fuli在线观看| 亚洲人成综合网站7777香蕉| 亚洲精品中文字幕| 美女裸免费观看网站| 成人a毛片视频免费看| a级毛片在线免费观看| 97久久免费视频|