大家好,我是IT修真院成都分院第8期的JAVA學(xué)員鄒蘇,一枚正直純潔善良的java程序員。
今天給大家分享一下,修真院官網(wǎng)Java任務(wù)1,深度思考中的知識(shí)點(diǎn)————clean,install,package,deploy分別代表什么含義?
1.背景介紹
maven是什么?
首先,為什么有maven?構(gòu)建是程序員每天要做的工作,而且相當(dāng)長(zhǎng)的時(shí)間花在了這上面,而maven使這系列的工作完全自動(dòng)化。 我們一直在尋找避免重復(fù)的方法,設(shè)計(jì)的重復(fù),文檔的重復(fù),編碼的重復(fù),構(gòu)建的重復(fù)等,maven是跨平臺(tái)的,最大的消除了構(gòu)建的重復(fù)。
Maven是一個(gè)Java語(yǔ)言編寫(xiě)的開(kāi)源項(xiàng)目管理工具,是Apache軟件基金會(huì)的頂級(jí)項(xiàng)目。主要用于項(xiàng)目構(gòu)建,依賴管理,項(xiàng)目信息管理。
2.知識(shí)剖析
Maven特點(diǎn):
1. maven不僅是構(gòu)建工具,它還是依賴管理工具和項(xiàng)目管理工具,提供了中央倉(cāng)庫(kù),能夠幫我們自動(dòng)下載構(gòu)件。
2.為了解決的依賴的增多,版本不一致,版本沖突,依賴臃腫等問(wèn)題,它通過(guò)一個(gè)坐標(biāo)系統(tǒng)來(lái)精確地定位每一個(gè)構(gòu)件(artifact)。
3.還能幫助我們分散在各個(gè)角落的項(xiàng)目信息,包括項(xiàng)目描述,開(kāi)發(fā)者列表,版本控制系統(tǒng),許可證,缺陷管理系統(tǒng)地址。
4.maven還為全世界的java開(kāi)發(fā)者提供了一個(gè)免費(fèi)的中央倉(cāng)庫(kù),在其中幾乎可以找到任何的流行開(kāi)源軟件。通過(guò)衍生工具(Nexus),我們還能對(duì)其進(jìn)行快速搜索
5.maven對(duì)于目錄結(jié)構(gòu)有要求,約定優(yōu)于配置,用戶在項(xiàng)目間切換就省去了學(xué)習(xí)成本。
Maven的一些基礎(chǔ)命令:
1、Mvn compile
執(zhí)行 mvn compile命令,完成編譯操作,執(zhí)行完畢后,會(huì)生成target目錄,該目錄中存放了編譯后的字節(jié)碼文件。
Mvn clean
執(zhí)行 mvn clean命令執(zhí)行完畢后,會(huì)將target目錄刪除。
Mvn test
執(zhí)行 mvn test命令,完成單元測(cè)試操作執(zhí)行完畢后,會(huì)在target目錄中生成三個(gè)文件夾:surefire、surefire-reports(測(cè)試報(bào)告)、test-classes(測(cè)試的字節(jié)碼文件)
Mvn package
執(zhí)行 mvn package命令,完成打包操作執(zhí)行完畢后,會(huì)在target目錄中生成一個(gè)文件,該文件可以是jar、war等
Mvn install
執(zhí)行 mvn install命令,完成將打好的jar包安裝到本地倉(cāng)庫(kù)的操作執(zhí)行完畢后,會(huì)在本地倉(cāng)庫(kù)中出現(xiàn)安裝后的jar包,方便其他工程引用
Mvn deploy
將打好的包拷貝到遠(yuǎn)程的repository,使得其他的開(kāi)發(fā)者或者工程可以共享。
3.常見(jiàn)問(wèn)題
Maven中央倉(cāng)庫(kù)經(jīng)常不穩(wěn)定,下載速度慢
4.解決方案
pom文件中加入

也可以在settings中設(shè)置鏡像
5.編碼實(shí)戰(zhàn)
6.擴(kuò)展思考
怎么樣能讓Maven跳過(guò)JUnit?
pom文件中加入

7.參考文獻(xiàn)
http://blog.csdn.net/woshixuye/article/details/8133050
https://www.cnblogs.com/fan-yuan/p/5008602.html
http://blog.csdn.net/iflow/article/details/46997315
PPT :PPT
騰訊視頻:
問(wèn)答:
如何把第三方j(luò)ar導(dǎo)入本地倉(cāng)庫(kù)?
使用命令行:
-Dfile=是jar包所在地方
加三個(gè)坐標(biāo)
-DgroupId=
-DartifactId=
-Dversion=
如
mvn install:install-file -Dfile=d:/XXXXXX.jar -DgroupId=XXX.XX -DartifactId=sdk.java -Dversion=2.6.3 -Dpackaging=jar -DgeneratePom=true
如何deploy到遠(yuǎn)程倉(cāng)庫(kù)?
mvn deploy:deploy-file -DgroupId=xxx -DartifactId=xxx -Dversion=1.0-SNAPSHOT -Dpackaging=jar -Dfile=D:\xxx.jar - Durl=http://xxxxxx -DrepositoryId=thirdparty
幾種方式能讓Maven跳過(guò)JUnit?
2種
感謝大家觀看!
今天的分享就到這里啦,歡迎大家點(diǎn)贊、轉(zhuǎn)發(fā)、留言、拍磚~
技能樹(shù).IT修真院
“我們相信人人都可以成為一個(gè)工程師,現(xiàn)在開(kāi)始,找個(gè)師兄,帶你入門(mén),掌控自己學(xué)習(xí)的節(jié)奏,學(xué)習(xí)的路上不再迷?!薄?/p>
這里是技能樹(shù).IT修真院,成千上萬(wàn)的師兄在這里找到了自己的學(xué)習(xí)路線,學(xué)習(xí)透明化,成長(zhǎng)可見(jiàn)化,師兄1對(duì)1免費(fèi)指導(dǎo)??靵?lái)與我一起學(xué)習(xí)吧~
我的邀請(qǐng)碼:17701057,或者你可以直接點(diǎn)擊此鏈接:http://www.jnshu.com/login/1/17701057