JAVA開發(fā)常用Maven軟件管理工具【奔跑吧!JAVA】
JAR文件制作方式
1、Java開發(fā)的應(yīng)用在發(fā)布前通常會(huì)打包一個(gè)JAR文件,JAR( Java ARchive )是將一系列文件(包含庫、依賴文件等)合并到單個(gè)壓縮文件里
2、手動(dòng)制作:早期使用jar命令制作JAR文件,所有的編譯、測(cè)試、代碼生成、打包等工作需要手動(dòng)重復(fù)執(zhí)行,效率較低,出錯(cuò)的機(jī)率較高
3、自動(dòng)生成:借助Maven等工具,自動(dòng)進(jìn)行軟件包生命周期的管理,從而提高工作效率,降低出錯(cuò)的機(jī)率
注:
程序開發(fā)的過程當(dāng)中,構(gòu)建工程,編寫代碼,測(cè)試代碼,打包,部署,上線等每天都是重復(fù)工作。在傳統(tǒng)過當(dāng)中需要手工的去操作,那么效率是低效的。
自動(dòng)化構(gòu)建工具M(jìn)aven一鍵全自動(dòng)完成構(gòu)建工程,編寫代碼,測(cè)試代碼,打包,部署,上線等工作,那么效率是高效的。
Maven介紹
Maven是Apache下的一個(gè)純Java開發(fā)的開源項(xiàng)目,基于項(xiàng)目對(duì)象模型(縮寫:POM),可以對(duì)Java項(xiàng)目進(jìn)行構(gòu)建,依賴管理。
Maven官網(wǎng)鏈接: http://Maven.apache.org/
Maven下載鏈接: http://Maven.apache.org/download.cgi
Maven安裝指導(dǎo): http://Maven.apache.org/install.html
1、當(dāng)下Java開發(fā)工具圈中,目前最主流的有以下三個(gè)開發(fā)工具,Lvy依賴Maven 依賴gradle依賴,依賴管理已經(jīng)成為了項(xiàng)目構(gòu)建自動(dòng)化工具中的一個(gè)主要部分
2、構(gòu)建在編程中是指什么?編程過程當(dāng)中很多事情是與編程無關(guān)的項(xiàng)目管理工作,如下載依賴,編譯源碼,單元測(cè)試,項(xiàng)目部署等。一般的,小型項(xiàng)目我們可以手動(dòng)實(shí)現(xiàn)這些操作,然而大型項(xiàng)目去實(shí)現(xiàn)則相對(duì)復(fù)雜。構(gòu)建工具是幫助我們實(shí)現(xiàn)一系列項(xiàng)目管理、測(cè)試和部署操作的工具
3、對(duì)于Java項(xiàng)目的構(gòu)建工具;傳統(tǒng)構(gòu)建工具有Ant,主流構(gòu)建工具:Maven,新興構(gòu)建工具:Gradle
4、Maven構(gòu)建項(xiàng)目的生命周期有哪些?
validate:驗(yàn)證項(xiàng)目以及相關(guān)信息是否正確
compile:編譯源代碼和相關(guān)資源文件
test:對(duì)測(cè)試代碼進(jìn)行測(cè)試
package:根據(jù)不同的項(xiàng)目類型進(jìn)行打包:
verigy:驗(yàn)證打包的正確性
install:將打包好的包安裝到本地
deploy:將打包好的包發(fā)布到遠(yuǎn)程
POM文件簡(jiǎn)介
Pom ( project object model )是Maven 工程的基本工作單元,是一個(gè)XML文件,包含了項(xiàng)目的基本信息,用于描述項(xiàng)目如何構(gòu)建,聲明項(xiàng)目依賴等。以下為pom文件的部分內(nèi)容:
version:項(xiàng)目的版本號(hào),如果項(xiàng)目仍然處在開發(fā)階段,通常在版本中帶有-SNAPSHOT
modelverion:模型版本,目前是4.0.0
groupld:組織id,一般是一個(gè)公司域名的倒寫
artifactld:項(xiàng)目名稱,自定義生成
注:
groupld、artifactld和version組成了坐標(biāo),是一個(gè)項(xiàng)目的唯一標(biāo)識(shí),坐標(biāo)除了標(biāo)識(shí)項(xiàng)目外,另外也可以對(duì)應(yīng)用使用的依賴進(jìn)行標(biāo)識(shí)
Maven倉庫簡(jiǎn)介
1、本地倉庫
存儲(chǔ)在本地磁盤默認(rèn)在S{user.home/.m2下,修改本地倉庫位置需要修改Maven安裝目錄下conf/settings.xml文件的local_repository參數(shù)
Maven參考搜索順序:
本地倉庫找到,直接返回。
本地倉庫沒有找到,去遠(yuǎn)程倉庫搜索
2、遠(yuǎn)程倉庫
一般使用國(guó)內(nèi)鏡像或者公司自己搭建私服,可以加快jar包下載速度。指定遠(yuǎn)程倉庫需要修改settings.xml文件中的servers參數(shù)
Maven參考搜索順序:
沒有配置遠(yuǎn)程倉庫,去中央倉庫搜索。
遠(yuǎn)程倉庫找到,下載到本地倉庫
遠(yuǎn)程倉庫沒有找到,搜索下一個(gè)遠(yuǎn)程倉庫,依次類推,如果所有遠(yuǎn)程倉都未找到,搜索中央倉。
配置優(yōu)先搜索鯤鵬Maven倉庫
在鯤鵬應(yīng)用開發(fā)時(shí),建議將遠(yuǎn)程倉庫配置為優(yōu)先搜索鯤鵬Maven倉庫
修改settings.xml文件
在profiles便簽下增加鯤鵬Maven倉庫的信息,包括id、url
將鯤鵬Maven倉庫的信息放在第一位,使其可以被優(yōu)先使用
3、中央倉庫
Maven團(tuán)隊(duì)維護(hù)的jar包倉庫https://repo1.Maven.org/Maven2/
Maven參考搜索順序:
中央倉庫找到,下載到本地倉庫。
中央倉庫沒有找到,前臺(tái)打印錯(cuò)誤信息。
Maven生命周期
Maven為了對(duì)所有的構(gòu)建過程抽象和統(tǒng)一,形成了一套高度完善的和易于擴(kuò)展的生命周期
Maven擁有3套生命周期
1、clean:清理
pre-clean 執(zhí)行一些需要在clean之前完成的工作
clean移除所有上一次構(gòu)建生成的文件
post-clean執(zhí)行一些需要在clean之后立刻完成的工作
2、default:編譯、測(cè)試、打包、發(fā)布等
default生命周期是真正構(gòu)建時(shí)所需要執(zhí)行的所有步驟
3、site:站點(diǎn)生成
site生命周期目的是見建立和發(fā)布項(xiàng)目站點(diǎn)
Maven應(yīng)用打包流程
開發(fā)后的應(yīng)用可以使用Maven,通過POM文件的方式進(jìn)行打包,并且,打包后的程序可以安裝到本地倉庫中,供其它程序調(diào)用
注:JAR ( Java ARchive)是將一系列文件合并到單個(gè)壓縮文件里,就象Zip那樣。然而,同Java中其他任何東西一樣,JAR文件是跨平臺(tái)的,所以不必關(guān)心涉及具體平臺(tái)的問題。
【奔跑吧!JAVA】有獎(jiǎng)?wù)魑幕馃徇M(jìn)行中:https://bbs.huaweicloud.com/blogs/265241
Java Maven 鯤鵬
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。