自動(dòng)化構(gòu)建工具M(jìn)aven

該心得全部來源于菜鳥教程-maven以及尚硅谷Java視頻教程_Maven的學(xué)習(xí)過程筆記惭聂。

Maven:一個(gè)純Java開發(fā)的開源項(xiàng)目伐厌,總的來說就是一個(gè)項(xiàng)目管理工具只祠,可以對(duì)Java項(xiàng)目進(jìn)行構(gòu)建侍瑟、依賴管理。利用一個(gè)中央信息片段能管理一個(gè)項(xiàng)目的構(gòu)建莱预、報(bào)告和文檔等步驟柠掂。

Maven的功能:可以幫助開發(fā)者完成構(gòu)建、文檔生成依沮、報(bào)告涯贞、依賴、SCMS悉抵、發(fā)布肩狂、分發(fā)、郵件列表等工作姥饰。

Maven的特點(diǎn):


Maven的使用配置:java環(huán)境配置傻谁、maven的環(huán)境配置,網(wǎng)上搜索一下就知道如何配置maven的環(huán)境變量了列粪。配置完成之后在doc命令(windows下)下輸入:mvn -v审磁,如果成功則會(huì)顯示maven版號(hào)信息谈飒。


POM(Project Object Model,項(xiàng)目構(gòu)建模型)

Maven POM:是maven工程的基本工作單元,是一個(gè)xml文件态蒂,包含了項(xiàng)目的基本信息杭措,用于描述如何創(chuàng)建構(gòu)建,聲明項(xiàng)目依賴钾恢,等等手素。
????執(zhí)行任務(wù)或目標(biāo)時(shí),Maven 會(huì)在當(dāng)前目錄中查找 POM瘩蚪。它讀取 POM泉懦,獲取所需的配置信息,然后執(zhí)行目標(biāo)疹瘦。
POM中可以指定以下配置:項(xiàng)目依賴崩哩、插件、執(zhí)行目標(biāo)言沐、項(xiàng)目構(gòu)建profile邓嘹、項(xiàng)目版本、項(xiàng)目開發(fā)者列表险胰、相關(guān)郵件列表信息汹押。


筆記

1、查看Maven環(huán)境是否配置完成:mvn -v 鸯乃;

2鲸阻、更新Maven的本地庫
修改{Home}\conf\setting.xml,更新localRepository到自己本地的目錄
創(chuàng)建完新的項(xiàng)目之后,所有相關(guān)文件將被存儲(chǔ)在你的Maven本地倉(cāng)庫

3缨睡、從Maven模版創(chuàng)建一個(gè)項(xiàng)目
mvn archetype:generate -DgroupId=com.huangyueze -DartifactId=MavenTest -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

4、讓一個(gè)普通的Maven成為一個(gè)eclipse項(xiàng)目陈辱,使用終端進(jìn)入到項(xiàng)目中
mvn eclipse:eclipse


常用Maven的命令

[1] mvn clean:清理
[2] mvn complie :編譯主程序
[3] mvn test -complie:編譯測(cè)試程序
[4] mvn test:執(zhí)行測(cè)試
[5] mvn package:打包


關(guān)于聯(lián)網(wǎng)問題

1.Maven的核心程序僅僅定義了抽象的生命周期奖年,但是具體的工作必須由特定的插件來完成。而插件本身并不包含在Maven的核心程序中沛贪。
2.當(dāng)我們執(zhí)行的Maven命令需要用到某些插件的時(shí)陋守,Maven核心程序會(huì)首先到本地倉(cāng)庫中查找。
3.本地倉(cāng)庫的默認(rèn)位置:[系統(tǒng)中當(dāng)前用戶的家目錄]\.m2\repository

C:\Users\Administrator\.m2\repository

4. Maven核心程序如果在本地倉(cāng)庫中找不到需要的插件利赋,那么他會(huì)自動(dòng)連接外網(wǎng)水评,到中央倉(cāng)庫下載。
5.如果此時(shí)無法連接外網(wǎng)媚送,則構(gòu)建失敗
6.修改默認(rèn)本地倉(cāng)庫的為止可以讓Maven核心程序到我們實(shí)現(xiàn)準(zhǔn)備好的目錄下查找插件

【1】中燥、找到Maven解壓目錄\conf\setting.xml
【2】、在setting.xml文件中倒找localRepository標(biāo)簽
【3】塘偎、將<localRepository>/path/to/local/repo</localRepository>從注視中取出疗涉,設(shè)置為制定好的Maven倉(cāng)庫目錄拿霉。比如我這里設(shè)置為了:E:\Maven\apache-maven-3.6.1\repository



依賴

【1】Maven解析依賴信息回到本地倉(cāng)庫中查找被依賴的jar包。
? ? ? ? ? ? 對(duì)于我們自己開發(fā)的Maven工程咱扣,使用install命令安裝后就可以進(jìn)入倉(cāng)庫绽淘。
【2】依賴的范圍
? ? ? ? 【1】compile范圍依賴
? ? ? ? ? ? ? ? ? ? >對(duì)主程序是否有效:有效
? ? ? ? ? ? ? ? ? ? >對(duì)測(cè)試程序是否有效:有效
? ? ? ? ? ? ? ? ? ? >是否參與打包:參與
? ? ? ? 【2】test范圍依賴
? ? ? ? ? ? ? ? ? ? >對(duì)主程序是否有效:無效
? ? ? ? ? ? ? ? ? ? >對(duì)測(cè)試程序是否有效:有效,就是為測(cè)試程序設(shè)計(jì)的
? ? ? ? ? ? ? ? ? ? >是否參與打包:不參與
? ? ? ? ? ? ? ? ? ? >典型例子:junit-3.8.8.jar的依賴范圍就是test
? ? ? ? 【3】provided范圍依賴
? ? ? ? ? ? ? ? ? ?>對(duì)主程序是否有效:有效
? ? ? ? ? ? ? ? ? ?> 對(duì)測(cè)試程序是否有效:有效
? ? ? ? ? ? ? ? ? ?>是否參與打包:不參與
? ? ? ? ? ? ? ? ? ?>是否參與部署:不參與部署
? ? ? ? ? ? ? ? ? ?>典型例子:servlet-api.jar
【3】依賴高級(jí)
? ? ? ? 依賴的傳遞性:?
? ? ? ? ? ? 1、好處:可以傳遞的依賴不必再每個(gè)模塊工程中都重復(fù)聲明,在“最下面”的工程中依賴一次即可 擎颖。
? ? ? ? ? ? 2潘懊、注意:非compile范圍的依賴不能傳遞。所以在各個(gè)工程模塊中厨诸,如果有需要就得重復(fù)生命依賴。
? ? ? ? 依賴的排除(需要注意排除的場(chǎng)合,需要排除的情景也比較少):
? ? ? ? ? ? 1驮肉、依賴排除的設(shè)置方式,在依賴中添加<exclusion></exclusion>節(jié)點(diǎn)已骇;
? ? ? ? 依賴的原則:
? ? ? ? ? ? 1离钝、作用:解決模塊工程之間的jar包沖突問題;
? ? ? ? ? ? 2褪储、情景設(shè)定1:驗(yàn)證路徑最短者優(yōu)先原則卵渴;
? ? ? ? ? ? 3、情景設(shè)定2:驗(yàn)證路徑相同時(shí)先聲明者優(yōu)先鲤竹;


Properties標(biāo)簽

properties標(biāo)簽配合自定義標(biāo)簽生命數(shù)據(jù)的配置并不只是只能用于聲明依賴的版本號(hào)浪读。凡事需要統(tǒng)一聲明后再引用的場(chǎng)合都可以使用。

<properties>
????????????<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> ????????????<maven.compiler.encoding>UTF-8</maven.compiler.encoding>
? ? ? ? ? ? <com.hyz.test>4.1.1.RELEASE</com.hyz.test> 我自定義的
?</properties>


繼承


在eclipse中使用maven

1辛藻、Maven插件:Eclipse內(nèi)置了一個(gè)maven插件
2碘橘、Maven插件的設(shè)置
? ? ? ? 【1】installations:指定Maven核心程序的位置。不建議使用插件自帶的maven程序吱肌,而應(yīng)該使用我們自己的maven痘拆。
? ? ? ? 【2】user settings:指定conf/settings.xml的位置,從而找到本地倉(cāng)庫的位置氮墨。





聚合(一鍵安裝各個(gè)模塊的工程)

步驟:在一個(gè)“總的聚合工程中”中配置各個(gè)參與聚合的模塊

<modules>
?????????<module>../MavenTest</module>
? ? ? ? ......
?</modules>

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末纺蛆,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子规揪,更是在濱河造成了極大的恐慌桥氏,老刑警劉巖,帶你破解...
    沈念sama閱讀 223,126評(píng)論 6 520
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件猛铅,死亡現(xiàn)場(chǎng)離奇詭異字支,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,421評(píng)論 3 400
  • 文/潘曉璐 我一進(jìn)店門祥款,熙熙樓的掌柜王于貴愁眉苦臉地迎上來清笨,“玉大人,你說我怎么就攤上這事刃跛】侔” “怎么了?”我有些...
    開封第一講書人閱讀 169,941評(píng)論 0 366
  • 文/不壞的土叔 我叫張陵桨昙,是天一觀的道長(zhǎng)检号。 經(jīng)常有香客問我,道長(zhǎng)蛙酪,這世上最難降的妖魔是什么齐苛? 我笑而不...
    開封第一講書人閱讀 60,294評(píng)論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮桂塞,結(jié)果婚禮上凹蜂,老公的妹妹穿的比我還像新娘。我一直安慰自己阁危,他們只是感情好玛痊,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,295評(píng)論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著狂打,像睡著了一般擂煞。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上趴乡,一...
    開封第一講書人閱讀 52,874評(píng)論 1 314
  • 那天对省,我揣著相機(jī)與錄音,去河邊找鬼晾捏。 笑死蒿涎,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的惦辛。 我是一名探鬼主播同仆,決...
    沈念sama閱讀 41,285評(píng)論 3 424
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼裙品!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起俗或,我...
    開封第一講書人閱讀 40,249評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤市怎,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后辛慰,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體区匠,經(jīng)...
    沈念sama閱讀 46,760評(píng)論 1 321
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,840評(píng)論 3 343
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了驰弄。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片麻汰。...
    茶點(diǎn)故事閱讀 40,973評(píng)論 1 354
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖戚篙,靈堂內(nèi)的尸體忽然破棺而出五鲫,到底是詐尸還是另有隱情,我是刑警寧澤岔擂,帶...
    沈念sama閱讀 36,631評(píng)論 5 351
  • 正文 年R本政府宣布位喂,位于F島的核電站,受9級(jí)特大地震影響乱灵,放射性物質(zhì)發(fā)生泄漏塑崖。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,315評(píng)論 3 336
  • 文/蒙蒙 一痛倚、第九天 我趴在偏房一處隱蔽的房頂上張望规婆。 院中可真熱鬧,春花似錦蝉稳、人聲如沸抒蚜。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,797評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽削锰。三九已至,卻和暖如春毕莱,著一層夾襖步出監(jiān)牢的瞬間器贩,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,926評(píng)論 1 275
  • 我被黑心中介騙來泰國(guó)打工朋截, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留蛹稍,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,431評(píng)論 3 379
  • 正文 我出身青樓部服,卻偏偏與公主長(zhǎng)得像唆姐,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子廓八,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,982評(píng)論 2 361

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