一荆烈、maven 入門

Apache Maven拯勉,是一個軟件(特別是Java軟件)項目管理及自動構建工具,由Apache軟件基金會所提供憔购」停基于項目對象模型(縮寫:POM)概念,Maven利用一個中央信息片斷能管理一個項目的構建玫鸟、報告和文檔等步驟斗遏。Maven也可被用于構建和管理各種項目,例如C#鞋邑,Ruby诵次,Scala和其他語言編寫的項目。Maven曾是Jakarta項目的子項目枚碗,現為由Apache軟件基金會主持的獨立Apache項目逾一。

1.maven 軟件安裝

  • 確定本地安裝 JDK
    打開cmd 敲擊:echo %JAVA_HOME% 檢查 本地是否配置 JAVA_HOME環(huán)境變量;JAVA -version 檢查 JAVA 可執(zhí)行程序是否可用
  • maven zip 包肮雨,解壓遵堵,解壓的路徑不要出現中文或者特殊符號
圖片.png
  • 配置 maven 的環(huán)境變量
    配置 MAVEN_HOME 環(huán)境變量名稱對應的值為:maven 軟件的解壓路徑
    配置 PATH 環(huán)境變量名稱對應的值:%MAVEN_HOME%/BIN
  • 檢查 maven 的環(huán)境變量配置是否完成
    mvn -v 是否顯示maven相關信息,沒有顯示表示maven 未配置成功

2.快速創(chuàng)建 maven 項目

  • mvn archetype:generate -DgroupId=com.xingxue.mavendemo -DartifactId=mavendemo-day1 -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

-DgroupId : maven 項目的名稱
-DartifactId : maven 項目模塊名稱
-DarchetypeArtifactId :使用maven 的骨架(工程結構)

3.maven 項目工程結構

----| maven 項目模塊文件夾
??---|src 文件
????---|main 主代碼
??????---| java 文件夾:將來都放包
??????---| resouces 文件夾:將來放配置文件
????---|test 測試代碼
??????---| java 文件夾:將來都放包
??????---| resouces 文件夾:將來放配置文件
??---|pom.xml pom文件

  • maven 常用命令:
    編譯命令:mvn compile
    清除命令: mvn clean
    測試命令: mvn test
    打包命令: mvn package
    安裝命令:mvn install

4.maven 坐標

站在 maven 軟件的角度看 項目怨规,每個項目都是一個構建而已陌宿,一個項目如果要分模塊,可以把每個模塊看成一個構建波丰。一個構建要依賴其他的構建壳坪,如何去引用其他構建,三坐標來描述一個構建掰烟。

  • 三坐標:gav
    groupId:描述項目名稱(帶個組織公司的域名)eg:com.xingxuecn.crm
    artifactId:描述項目的模塊 eg:crm-service
    version:模板的版本號 eg:1.0

  • 三坐標在 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/maven-v4_0_0.xsd">
   <modelVersion>4.0.0</modelVersion>
  
  <groupId>com.xingxue.mavendemo</groupId>
  <artifactId>mavendemo-day2</artifactId>
  <version>1.0-SNAPSHOT</version>
  • artifactId + version = 打成jar 的名稱
    eg:mavendemo-day2-1.0-SNAPSHOT.jar

  • 構建在倉庫中的路徑 = groupId+artifactId+1.0-SNAPSHOT路徑下

  • pom 文件:(project object model)爽蝴,該文件用于來描述模塊的信息的,不僅來描述模塊的三坐標纫骑,將來還要描述依賴管理的插件以及jar包等信息

  • 修改 中央倉庫的地址:


    圖片.png

5.依賴管理

依賴包具有傳遞性蝎亚,如果有一個包要依賴其他,其他的包也會同時下載

eg:下載 struts2的包先馆,只需要導入 struts2-core包发框,就會依賴的下載其他的包

    <dependencies>
        <dependency>
            <groupId>org.apache.struts</groupId>
            <artifactId>struts2-core</artifactId>
            <version>2.3.34</version>
        </dependency>
    </dependencies>

依賴包的圖如下:


圖片.png

查詢構建的三坐標網站:http://mvnrepository.com/

6.倉庫管理

倉庫將來就是用于存放一些 jar 包以及 maven 插件(編譯插件、打包的插件......)

本地倉庫 --------------------> 私服 ------------------->遠程倉庫

7.生命周期

Maven有三套相互獨立的生命周期煤墙,請注意這里說的是“三套”梅惯,而且“相互獨立”顾患,初學者容易將Maven的生命周期看成一個整體,其實不然个唧。這三套生命周期分別是:

  • Clean Lifecycle 在進行真正的構建之前進行一些清理工作江解。

  • Default Lifecycle 構建的核心部分,編譯徙歼,測試犁河,打包,部署等等魄梯。

  • Site Lifecycle 生成項目報告桨螺,站點,發(fā)布站點酿秸。

注意:它們是相互獨立的灭翔,你可以僅僅調用clean來清理工作目錄,僅僅調用site來生成站點辣苏。當然你也可以直接運行 mvn clean install site 運行所有這三套生命周期肝箱。

mvn install : 編譯 、 測試 稀蟋、 打包 煌张、 安裝,這就是一套默認的構建生命周期
mvn clean: 構建輸出的清理
mvn clean install : 先執(zhí)行 清理退客,然后編譯 骏融、 測試 、 打包 萌狂、 安裝

常用兩套生命周期來玩: mvn clean test 档玻、 mvn clean compile、 mvn clean package....

8. maven 軟件 集成到 Eclipse茫藏,利用 Eclipse 自帶的 maven 插件

  • Eclipse 自帶的 maven 插件 m2Eclipse 插件误趴。
  • 圖片.png
圖片.png
  • 使用 eclipse 創(chuàng)建 maven jar工程


    圖片.png
  • 使用 eclipse 創(chuàng)建 maven war工程


    圖片.png
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市刷允,隨后出現的幾起案子冤留,更是在濱河造成了極大的恐慌,老刑警劉巖树灶,帶你破解...
    沈念sama閱讀 207,113評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現場離奇詭異糯而,居然都是意外死亡天通,警方通過查閱死者的電腦和手機,發(fā)現死者居然都...
    沈念sama閱讀 88,644評論 2 381
  • 文/潘曉璐 我一進店門熄驼,熙熙樓的掌柜王于貴愁眉苦臉地迎上來像寒,“玉大人烘豹,你說我怎么就攤上這事∨祷觯” “怎么了携悯?”我有些...
    開封第一講書人閱讀 153,340評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長筷笨。 經常有香客問我憔鬼,道長,這世上最難降的妖魔是什么胃夏? 我笑而不...
    開封第一講書人閱讀 55,449評論 1 279
  • 正文 為了忘掉前任轴或,我火速辦了婚禮,結果婚禮上仰禀,老公的妹妹穿的比我還像新娘照雁。我一直安慰自己,他們只是感情好答恶,可當我...
    茶點故事閱讀 64,445評論 5 374
  • 文/花漫 我一把揭開白布饺蚊。 她就那樣靜靜地躺著,像睡著了一般悬嗓。 火紅的嫁衣襯著肌膚如雪卸勺。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,166評論 1 284
  • 那天烫扼,我揣著相機與錄音曙求,去河邊找鬼。 笑死映企,一個胖子當著我的面吹牛悟狱,可吹牛的內容都是我干的。 我是一名探鬼主播堰氓,決...
    沈念sama閱讀 38,442評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼挤渐,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了双絮?” 一聲冷哼從身側響起浴麻,我...
    開封第一講書人閱讀 37,105評論 0 261
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎囤攀,沒想到半個月后软免,有當地人在樹林里發(fā)現了一具尸體,經...
    沈念sama閱讀 43,601評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡焚挠,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,066評論 2 325
  • 正文 我和宋清朗相戀三年膏萧,在試婚紗的時候發(fā)現自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,161評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡榛泛,死狀恐怖蝌蹂,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情曹锨,我是刑警寧澤孤个,帶...
    沈念sama閱讀 33,792評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站沛简,受9級特大地震影響齐鲤,放射性物質發(fā)生泄漏。R本人自食惡果不足惜覆享,卻給世界環(huán)境...
    茶點故事閱讀 39,351評論 3 307
  • 文/蒙蒙 一佳遂、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧撒顿,春花似錦丑罪、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至拧抖,卻和暖如春煤搜,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背唧席。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評論 1 261
  • 我被黑心中介騙來泰國打工擦盾, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人淌哟。 一個月前我還...
    沈念sama閱讀 45,618評論 2 355
  • 正文 我出身青樓迹卢,卻偏偏與公主長得像,于是被迫代替她去往敵國和親徒仓。 傳聞我的和親對象是個殘疾皇子腐碱,可洞房花燭夜當晚...
    茶點故事閱讀 42,916評論 2 344

推薦閱讀更多精彩內容

  • Maven編譯代碼的相關命令 第一、main目錄下的主代碼編寫完畢后掉弛,使用Maven進行編譯症见,在項目根目錄下運行命...
    加油小杜閱讀 1,169評論 0 2
  • 在maven的世界里谋作,一切都從pom文件開始...... 下面是一個入門級helloworld項目的 pom配置文...
    小煉君閱讀 1,163評論 2 50
  • 1 為什么使用Maven這樣的構建工具 【Why】 1.1 一個項目就是一個工程 如果項目非常...
    coder_girl閱讀 491評論 0 1
  • 一、為什么使用Maven這樣的構建工具【why】 ① 一個項目就是一個工程 如果項目非常龐大壁晒,就不適合使用pack...
  • 5017年11月10號星期五哈爾濱大雪路面結-8°-7 大早上起來就聽見樓下有掃雪的動靜了我打開窗戶一看瓷们,艾瑪啥時...
    c0deb784fc0b閱讀 225評論 0 1