[架構(gòu)篇]使用maven來(lái)管理版本依賴

<h3 id="4750t">什么是maven</h3><p>Maven是一個(gè)構(gòu)建工具此衅,可以自動(dòng)化構(gòu)建,抽象了構(gòu)建過(guò)程责鳍,提供了構(gòu)建任務(wù)的實(shí)現(xiàn),還是一個(gè)依賴管理工具和項(xiàng)目管理工具振坚,同時(shí)Maven搭建了中央倉(cāng)庫(kù)薇搁,方便構(gòu)建的下載,還可以搭建私服渡八,提升下載效率啃洋。
</p><p>安裝maven(Windows)</p><p>確認(rèn)系統(tǒng)安裝好jdk,并配置環(huán)境變量</p><div class="image-package"><img src="https://upload-images.jianshu.io/upload_images/8965049-bcd6bb0f359c4f9a.jpg" contenteditable="false" img-data="{"format":"jpeg","size":33094,"height":519,"width":993}" class="uploaded-img" style="min-height:200px;min-width:200px;" width="auto" height="auto"/>
</div><p>將下載好的maven包解壓到目錄下屎鳍。maven官網(wǎng)<a target="_blank" style="background-color: rgb(255, 255, 255); font-size: 14px;">https://maven.apache.org/download.cgi</a></p><div class="image-package"><img src="https://upload-images.jianshu.io/upload_images/8965049-b36e5253ef287b36.jpg" contenteditable="false" img-data="{"format":"jpeg","size":20937,"height":285,"width":645}" class="uploaded-img" style="min-height:200px;min-width:200px;" width="auto" height="auto"/>
</div><h3 id="pcyop">配置maven環(huán)境變量 在電腦右鍵屬性-高級(jí)-環(huán)境變量</h3><p>1宏娄、增加MAVEN_HOME 指定剛解壓的目錄</p><p>2、編輯系統(tǒng)變量中的Path 增變量值 %MAVEN_HOME%\bin</p><div class="image-package"><img src="https://upload-images.jianshu.io/upload_images/8965049-4763094dc255c1ba.jpg" contenteditable="false" img-data="{"format":"jpeg","size":56236,"height":666,"width":632}" class="uploaded-img" style="min-height:200px;min-width:200px;" width="auto" height="auto"/>
</div><p>打開cmd 查看環(huán)境變量設(shè)置是否成功</p><div class="image-package"><img src="https://upload-images.jianshu.io/upload_images/8965049-cfa080b2ba2b08c7.jpg" contenteditable="false" img-data="{"format":"jpeg","size":45094,"height":519,"width":993}" class="uploaded-img" style="min-height:200px;min-width:200px;" width="auto" height="auto"/>
</div><h3 id="jmqwq">Maven常用命令說(shuō)明(這些命令可以組合使用)</h3><p>
mvn clean 表示運(yùn)行清理操作(會(huì)默認(rèn)把target文件夾中的數(shù)據(jù)清理)逮壁。

mvn install 安裝孵坚,會(huì)將打好的包安裝到本地倉(cāng)庫(kù)中,以便其他的項(xiàng)目可以調(diào)用窥淆。

mvn compile 編譯卖宠,會(huì)將代碼編譯到target文件夾中。

mvn package 打包忧饭,會(huì)將代碼編譯到target文件夾中扛伍,并打好jar包。

mvn deploy 發(fā)布(發(fā)布到私服上面)词裤。

mvn test 執(zhí)行項(xiàng)目單元測(cè)試刺洒,會(huì)把項(xiàng)目中test目錄下的所有單測(cè)執(zhí)行一次</p><h3 id="akhku">idea指定maven插件</h3><p>在settings中搜素maven 然后配置 maven相關(guān)</p><div class="image-package"><img src="https://upload-images.jianshu.io/upload_images/8965049-85f4907f7f462bdf.jpg" contenteditable="false" img-data="{"format":"jpeg","size":58798,"height":720,"width":938}" class="uploaded-img" style="min-height:200px;min-width:200px;" width="auto" height="auto"/>
</div><h3 id="2zzxt">創(chuàng)建自己的Maven BOM來(lái)管理版本依賴</h3><p>在項(xiàng)目的初期,我們先引入spring-cloud-alibaba吼砂,spring-boot逆航,spring-cloud;
</p><p>在這里查看三個(gè)版本對(duì)應(yīng)關(guān)系(<a target="_blank" style="background-color: rgb(255, 255, 255); font-size: 14px;">https://github.com/alibaba/spring-cloud-alibaba/wiki/%E7%89%88%E6%9C%AC%E8%AF%B4%E6%98%8E</a>)</p><p>這里我們選擇最新的</p><p><?xml version="1.0" encoding="UTF-8"?>
<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>org.onedayday</groupId>
<artifactId>thatmall-dependencies</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>pom</packaging>
<properties>
<java.version>1.8</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<spring-cloud-alibaba.version>2.2.7.RELEASE</spring-cloud-alibaba.version>
<spring-boot.version>2.3.12.RELEASE</spring-boot.version>
<spring-cloud.version>Hoxton.SR12</spring-cloud.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>{spring-cloud-alibaba.version}&lt;/version><br/> &lt;type>pom&lt;/type><br/> &lt;scope>import&lt;/scope><br/> &lt;/dependency><br/> &lt;dependency><br/> &lt;groupId>org.springframework.cloud&lt;/groupId><br/> &lt;artifactId>spring-cloud-dependencies&lt;/artifactId><br/> &lt;version>{spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring-boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
</project>
</p><h3>項(xiàng)目主pom.xml文件中節(jié)點(diǎn)下首位處加入如下:</h3><p><dependencyManagement>
<dependencies>
<dependency>
<groupId>org.onedayday</groupId>
<version>1.0-SNAPSHOT</version>
<artifactId>thatmall-dependencies</artifactId>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
</p><h3>在需要使用相關(guān)JAR包的pom.xml文件中節(jié)點(diǎn)下引入如下:(lombok源自springboot)</h3><p><dependencies>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
</dependencies>
</p><p>如需升級(jí)版本 直接維護(hù)BOM里邊的版本就好
</p>

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末渔肩,一起剝皮案震驚了整個(gè)濱河市因俐,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖女揭,帶你破解...
    沈念sama閱讀 218,546評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蚤假,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡吧兔,警方通過(guò)查閱死者的電腦和手機(jī)磷仰,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,224評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)境蔼,“玉大人灶平,你說(shuō)我怎么就攤上這事」客粒” “怎么了逢享?”我有些...
    開封第一講書人閱讀 164,911評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)吴藻。 經(jīng)常有香客問(wèn)我瞒爬,道長(zhǎng),這世上最難降的妖魔是什么沟堡? 我笑而不...
    開封第一講書人閱讀 58,737評(píng)論 1 294
  • 正文 為了忘掉前任侧但,我火速辦了婚禮,結(jié)果婚禮上航罗,老公的妹妹穿的比我還像新娘禀横。我一直安慰自己,他們只是感情好粥血,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,753評(píng)論 6 392
  • 文/花漫 我一把揭開白布柏锄。 她就那樣靜靜地躺著,像睡著了一般复亏。 火紅的嫁衣襯著肌膚如雪趾娃。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,598評(píng)論 1 305
  • 那天缔御,我揣著相機(jī)與錄音茫舶,去河邊找鬼。 笑死刹淌,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的讥耗。 我是一名探鬼主播有勾,決...
    沈念sama閱讀 40,338評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼古程!你這毒婦竟也來(lái)了蔼卡?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,249評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤挣磨,失蹤者是張志新(化名)和其女友劉穎雇逞,沒(méi)想到半個(gè)月后荤懂,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,696評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡塘砸,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,888評(píng)論 3 336
  • 正文 我和宋清朗相戀三年节仿,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片掉蔬。...
    茶點(diǎn)故事閱讀 40,013評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡廊宪,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出女轿,到底是詐尸還是另有隱情箭启,我是刑警寧澤,帶...
    沈念sama閱讀 35,731評(píng)論 5 346
  • 正文 年R本政府宣布蛉迹,位于F島的核電站岩调,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏因妙。R本人自食惡果不足惜诅妹,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,348評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望扭倾。 院中可真熱鬧淀零,春花似錦、人聲如沸膛壹。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,929評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)模聋。三九已至肩民,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間链方,已是汗流浹背持痰。 一陣腳步聲響...
    開封第一講書人閱讀 33,048評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留祟蚀,地道東北人工窍。 一個(gè)月前我還...
    沈念sama閱讀 48,203評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像前酿,于是被迫代替她去往敵國(guó)和親患雏。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,960評(píng)論 2 355

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