學(xué)習(xí)筆記20170601">【PMP】學(xué)習(xí)筆記20170601
1320
2022-05-28
學(xué)習(xí)maven有一些感想:
起初不是很了解maven,到現(xiàn)在也是略懂皮毛,我只知道他是一個(gè)管理依賴jar包的工具,現(xiàn)在用的時(shí)候也是通過IDEA 和 eclipse里的插件在使用,沒強(qiáng)記過它的一些常用命令,編輯器都有簡(jiǎn)單的操作,不需要你輸入命令。
但是今天在打包一個(gè)springboot項(xiàng)目的時(shí)候,出了問題,package命令的執(zhí)行過程是validate–>compile–>test–>package,我的項(xiàng)目里加了websocket的jar,但是在測(cè)試環(huán)境下老報(bào)錯(cuò),運(yùn)行環(huán)境可以,可能是加的依賴包和現(xiàn)有的包重了。我也改了依賴的scope,默認(rèn)是compile,我改成了provided,但是沒解決問題,只能通過命令了,讓它在打包的時(shí)候跳過測(cè)試環(huán)境,最后打包成功。
你不需要了解groupid、artifactId、version等有什么用
你不需要去記命令
你不需要深入了解maven的原理,會(huì)用就行
知道怎么用編輯器簡(jiǎn)單使用maven(現(xiàn)在的編輯器如IDEA,安卓的,eclipse都自帶maven插件,非常自動(dòng)化)
你要會(huì)找dependency,推薦網(wǎng)站(http://mvnrepository.com/)
遇到關(guān)于maven的問題要會(huì)通過百度解決
當(dāng)然還要會(huì)在自己的電腦上配maven環(huán)境(百度經(jīng)驗(yàn)有)
下面記述一個(gè)比較高深的東西,maven的聚合與繼承
這是一個(gè)父pom.xml
從字面意思來說,module就是模塊,而pom.xml中的modules也正是這個(gè)意思,用來管理同個(gè)項(xiàng)目中的各個(gè)模塊;如果maven用的比較簡(jiǎn)單,或者說項(xiàng)目的模塊在pom.xml沒進(jìn)行劃分,那么此元素是用不到的;不過一般大一點(diǎn)的項(xiàng)目是要用到的。
使用場(chǎng)景:
如果我們的項(xiàng)目分成了好幾個(gè)模塊,那么我們構(gòu)建的時(shí)候是不是有幾個(gè)模塊就需要構(gòu)建幾次了(到每個(gè)模塊的目錄下執(zhí)行mvn命令)?當(dāng)然,你逐個(gè)構(gòu)建沒問題,但是非要這么麻煩的一個(gè)一個(gè)的構(gòu)建嗎,那么簡(jiǎn)單的做法就是使用聚合,一次構(gòu)建全部模塊。
在spring的依賴中,我們需要引用一系列版本的spring,如版本1.2.6。每次都寫不利于維護(hù)。所以加入標(biāo)簽properties,動(dòng)態(tài)注入版本號(hào)。
user_dao項(xiàng)目的pom.xml
明顯的看見有
groupId、artifactId、version對(duì)應(yīng)的是父pom.xml的信息,relativePath這個(gè)標(biāo)注父pom.xml在哪里。
你仔細(xì)看,依賴包的的版本號(hào)都沒了,這是因?yàn)樵诟竝om.xml里統(tǒng)一管理了。
maven的聚合和繼承如果是自己的小項(xiàng)目沒必要用,但是公司里的項(xiàng)目多了,大項(xiàng)目下還有子項(xiàng)目就需要統(tǒng)一管理。
學(xué)習(xí)maven的一些小知識(shí):
在maven的安裝包下(我的D:\maven\apache-maven-3.5.2\conf)找到settings.xml打開找到標(biāo)簽mirrors
復(fù)制替換下面的阿里倉庫配置即可
如:
在settings.xml里我同樣找到了這個(gè)標(biāo)簽,只是被注釋掉了,我們可以不用打開注釋
我們?cè)陧?xiàng)目中改動(dòng)最多的地方是這里面添加依賴
編譯源代碼: mvn compile
編譯測(cè)試代碼:mvn test-compile
運(yùn)行測(cè)試:mvn test
打包:mvn package
跳過測(cè)試打包:mvn install -DskipTests 或者mvn install -Dmaven.test.skip=true
在本地Repository中安裝jar:mvn install
清除產(chǎn)生的項(xiàng)目:mvn clean
生成eclipse項(xiàng)目:mvn eclipse:eclipse
生成idea項(xiàng)目:mvn idea:idea
modelVersion:POM 模型版本 4.0.0 固定
groupId:一般指某個(gè)公司或者某個(gè)組織的某個(gè)項(xiàng)目 比如 org.springframework
artifactId:一般指某個(gè)具體項(xiàng)目的某個(gè)具體模塊 比如 spring-context
Version:項(xiàng)目的版本
Mvn 遠(yuǎn)程倉庫地址:http://mvnrepository.com/
學(xué)習(xí)maven其實(shí)很簡(jiǎn)單,先不求甚解,使用了再說。在使用中學(xué)習(xí),知道它在一個(gè)項(xiàng)目中的作用,遇到問題了,就去百度,解決問題的過程會(huì)讓你對(duì)它的認(rèn)識(shí)更加透徹。
學(xué)習(xí)其他新知識(shí)也一樣,認(rèn)知過程是痛苦的,直接與它近距離接觸才能慢慢揭開它的神秘面紗。
本人看過的學(xué)習(xí)maven視頻鏈接,還不錯(cuò),推薦給大家。
鏈接:https://pan.baidu.com/s/1eUhbj2q 密碼:se0o
有任何問題,請(qǐng)?jiān)u論留言。
IDE JAR 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)容。