Maven入門

  1. Maven是什么?

    一個項目構(gòu)建工具.為開發(fā)者提供了一套完整的構(gòu)建項目生命周期的框架.

  2. 約定優(yōu)于配置

    在沒有自定義的情況下蹬敲,源代碼,資源文件伴嗡,測試代碼都有固定的位置.

  3. 創(chuàng)建一個簡單的項目

    在命令行輸入

    mvn archetype:generate -DgroupId=com.lkc.helloworld -DartifactId=helloworld -Dpackage=com.lkc.helloworld -Dversion=1.0-SNAPSHOT
    

    回車之后就建好了一個maven項目,archetype是maven的一個插件瘪校,generate就是一個目標,maven真正做的事通過執(zhí)行插件的目標來完成,自己只做一些依賴的東西;
    接下來的所有-DName=value就是將參數(shù)傳到目標中;
    groupId就是所在的組的標識符;
    artifactId就是項目標識符;
    package是包名;
    version就是版本號.
    之后查看下目錄結(jié)構(gòu):

    .
    └── helloworld   
        ├── pom.xml   
        └── src    
            ├── main     
            │   └── java
            │       └── com
            │           └── lkc
            │               └── helloworld
            │                   └── App.java
            └── test
                └── java
                    └── com
                        └── lkc
                            └── helloworld
                                └── AppTest.java
    

    archetype新建了一個與artifactId相同的helloworld目錄,是項目的基礎(chǔ)目錄.
    pom.xml描述了項目,配置了插件,聲明了依賴.
    src/main是項目的源碼目錄.
    src/test是項目的測試目錄.

  4. 構(gòu)建一個項目

    上一節(jié)新建了一個項目,那我們肯定不想讓它建好了就放在那不用,肯定希望構(gòu)建并打包這個項目,可以通過

    mvn install
    

    來構(gòu)建,但要在pom.xml這個文件所在的位置下執(zhí)行.
    執(zhí)行完畢后在命令行輸入

    java -cp target/simple-1.0-SNAPSHOT.jar com.lkc.helloworld.App
    

    運行你的項目,會打印出

    Hello World!
    

    運行成功

  5. 項目的對象模型

    當(dāng)Maven運行時它向項目對象模型查看關(guān)于項目的相關(guān)信息,pom.xml回答了這個項目是什么類型的,這個項目的名稱是什么類似的問題;下面來看一下剛剛的pom文件:

    
        <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
      xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">   
      <modelVersion>4.0.0</modelVersion>
    
      <groupId>com.lkc.helloworld</groupId>
      <artifactId>helloworld</artifactId>
      <version>1.0-SNAPSHOT</version>
      <packaging>jar</packaging>
    
      <name>helloworld</name>
      <url>http://maven.apache.org</url>
    
      <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
      </properties>
    
      <dependencies>
        <dependency>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
          <version>3.8.1</version>
          <scope>test</scope>
        </dependency>
      </dependencies>
    </project>
    

    groupId,artifactId,packaging,version是Maven的坐標,唯一地標識了這個項目;
    name和url描述了項目的名字和站點;
    dependencies定義了一個單獨的測試范圍依賴;
    Maven通過pom.xml讓項目跑起來.

  6. 常用的Maven命令
    | mvn test-compile | 編譯測試代碼 |
    | mvn test | 運行測試 |
    | mvn package | 打包項目 |
    | mvn archetype:generate | 創(chuàng)建Maven項目 |
    | mvn clean | 清理項目(刪除target文件夾) |

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市麻惶,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌渠退,老刑警劉巖脐彩,帶你破解...
    沈念sama閱讀 217,907評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異梅誓,居然都是意外死亡佛南,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,987評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來绵载,“玉大人,你說我怎么就攤上這事焚虱。” “怎么了鹃栽?”我有些...
    開封第一講書人閱讀 164,298評論 0 354
  • 文/不壞的土叔 我叫張陵躯畴,是天一觀的道長薇芝。 經(jīng)常有香客問我丰嘉,道長,這世上最難降的妖魔是什么黄娘? 我笑而不...
    開封第一講書人閱讀 58,586評論 1 293
  • 正文 為了忘掉前任逼争,我火速辦了婚禮劝赔,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘杂伟。我一直安慰自己,他們只是感情好赫粥,可當(dāng)我...
    茶點故事閱讀 67,633評論 6 392
  • 文/花漫 我一把揭開白布予借。 她就那樣靜靜地躺著,像睡著了一般秦叛。 火紅的嫁衣襯著肌膚如雪瀑粥。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,488評論 1 302
  • 那天,我揣著相機與錄音哀澈,去河邊找鬼度气。 笑死,一個胖子當(dāng)著我的面吹牛适荣,可吹牛的內(nèi)容都是我干的现柠。 我是一名探鬼主播弛矛,決...
    沈念sama閱讀 40,275評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼丈氓,長吁一口氣:“原來是場噩夢啊……” “哼周循!你這毒婦竟也來了万俗?” 一聲冷哼從身側(cè)響起闰歪,我...
    開封第一講書人閱讀 39,176評論 0 276
  • 序言:老撾萬榮一對情侶失蹤库倘,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后教翩,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,619評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡靶橱,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,819評論 3 336
  • 正文 我和宋清朗相戀三年路捧,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片队寇。...
    茶點故事閱讀 39,932評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡章姓,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出零渐,到底是詐尸還是另有隱情系忙,我是刑警寧澤,帶...
    沈念sama閱讀 35,655評論 5 346
  • 正文 年R本政府宣布风宁,位于F島的核電站,受9級特大地震影響热监,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜孝扛,卻給世界環(huán)境...
    茶點故事閱讀 41,265評論 3 329
  • 文/蒙蒙 一幽崩、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧盈简,春花似錦、人聲如沸柠贤。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,871評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至瓢谢,卻和暖如春驮瞧,著一層夾襖步出監(jiān)牢的瞬間氓扛,已是汗流浹背论笔。 一陣腳步聲響...
    開封第一講書人閱讀 32,994評論 1 269
  • 我被黑心中介騙來泰國打工狂魔, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留蒜埋,地道東北人最楷。 一個月前我還...
    沈念sama閱讀 48,095評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像朗鸠,于是被迫代替她去往敵國和親础倍。 傳聞我的和親對象是個殘疾皇子胎挎,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,884評論 2 354

推薦閱讀更多精彩內(nèi)容

  • 作者:George Ma第一篇文章大概的介紹了一下Apache Maven以及它的下載和安裝犹菇,并且運行了一個簡單的...
    墨白找閱讀 269評論 0 0
  • 在maven的世界里,一切都從pom文件開始...... 下面是一個入門級helloworld項目的 pom配置文...
    小煉君閱讀 1,168評論 2 50
  • Maven入門教程 1.1.介紹肌毅、環(huán)境配置 1.1.1.Maven介紹 Maven是一個采用純Java編寫的開源項...
    安易學(xué)車閱讀 1,458評論 2 10
  • 一姑原、MAVEN能做什么? 清理項目 mvn clean 編譯項目 mvn compiler 測試項目 mvn...
    sunshine9223閱讀 719評論 1 3
  • 閱讀《財務(wù)自由》 度娘說:財務(wù)自由是指你無須為生活開銷而努力為錢工作的狀態(tài)笨奠。 簡單地說般婆,你的資產(chǎn)產(chǎn)生的被動收入必須...
    梅利醬閱讀 410評論 0 0