Maven倉庫配置埃撵、安裝和使用

微信公眾號: Spark大數(shù)據(jù)

一赵颅、 Maven有什么作用?

1暂刘、讓maven倉庫自動(dòng)幫你下載jar包

maven項(xiàng)目會(huì)有一個(gè) pom.xml文件性含, 在這個(gè)文件里面,只要你添加相應(yīng)配置鸳惯,他就會(huì)自動(dòng)幫你下載相應(yīng)jar包,不用你鋪天蓋地的到處搜索你需要的jar包叠萍。

下面是示范配置文件pom.xml

maven都會(huì)通過芝发,項(xiàng)目名-項(xiàng)目模塊-項(xiàng)目版本來maven在互聯(lián)網(wǎng)上的代碼庫中下載相應(yīng)jar包。

2苛谷、尋找依賴辅鲸,幫你下載依賴

尋找jar包是第一基本功能,尋找依賴在這個(gè)是在這個(gè)基礎(chǔ)上的功能腹殿。

在maven的代碼庫中独悴,每一個(gè)jar包也有自己的 pom.xml文件,而這個(gè)文件里面也會(huì)有配置锣尉,只要你配置的jar包所依賴的其他jar包都會(huì)被maven自動(dòng)下載下來刻炒。

二、Maven的安裝與配置

1自沧、下載 Maven

下載地址:?http://maven.apache.org/download.cgi

2坟奥、安裝Maven

安裝Maven的前要安裝JDK。

將安裝文件解壓到你指定的目錄中。這里的Maven安裝目錄是E:\apache-maven-3.5.0爱谁。

3晒喷、設(shè)置環(huán)境變量,將Maven安裝配置到操作系統(tǒng)環(huán)境中

1)打開系統(tǒng)屬性面板(桌面上右鍵單擊“我的電腦”→“屬性”)访敌,點(diǎn)擊高級系統(tǒng)設(shè)置凉敲,再點(diǎn)擊環(huán)境變量,

2)在系統(tǒng)變量中新建一個(gè)變量寺旺,變量名為 M2_HOME爷抓,變量值為Maven的安裝目錄E:\apache-maven-3.5.0。

3)點(diǎn)擊確定迅涮,接著在系統(tǒng)變量中找到一個(gè)名為Path的變量废赞,在變量值的末尾加上 %M2_HOME%\bin;

4)注意多個(gè)值之間需要有分號隔開,然后點(diǎn)擊確定叮姑。至此唉地,環(huán)境變量設(shè)置完成。

4耘沼、測試安裝成功

打開一個(gè)新的cmd窗口群嗤,運(yùn)行 mvn -v 命令檢查Maven的安裝情況

5、修改maven配置使用阿里提供的maven源

打開maven安裝路徑下的conf/settings.xml 文件

三嫡丙、eclipse 配置maven

修改maven的settings.xml 配置

四盼砍、創(chuàng)建maven 工程

選擇菜單項(xiàng)File -> New -> Other近刘,在彈出的對話框中選擇Maven下的Maven Project

然后點(diǎn)擊Next >,在彈出的New Maven Project對話框中宦棺,我們使用默認(rèn)的選項(xiàng)

點(diǎn)擊Next >,此時(shí)m2eclipse會(huì)提示我們選擇一個(gè)Archetype,我們選擇maven-archetype-quickstart

再點(diǎn)擊Next >。輸入groupId,、artifactId媒至、version完慧、package

安裝完成功后工程結(jié)構(gòu)圖如下:

四司顿、編寫pom.xml

Maven 項(xiàng)目的核心是 pom.xml。 POM( Project Object Model,項(xiàng)目對象模型)定義了項(xiàng)目的基本信息限佩,用于描述項(xiàng)目如何構(gòu)建泞坦,聲明項(xiàng)目依賴豌熄,等等囱持。

這段代碼中最重要的是 groupId, artifactId 和 version 三行掩幢。這三個(gè)元素定義了一個(gè)項(xiàng)目基本的坐標(biāo)际邻,在 Maven的世界骗露,任何的 jar、 pom 或者 war 都是以基于這些基本的坐標(biāo)進(jìn)行區(qū)分的不恭。

groupId :

定義了項(xiàng)目屬于哪個(gè)組,這個(gè)組往往和項(xiàng)目所在的組織或公司存在關(guān)聯(lián)缕探,譬如你在 googlecode 上建立了一個(gè)名為 myapp 的項(xiàng)目魂莫,那么 groupId 就應(yīng)該是 com.googlecode.myapp,如果你的公司是 mycom爹耗,有一個(gè)項(xiàng)目為 myapp耙考,那么 groupId 就應(yīng)該是 com.mycom.myapp。本書中所有的代碼都基于 groupId com.juvenxu.mvnbook潭兽。

artifactId:

定義了當(dāng)前 Maven 項(xiàng)目在組中唯一的 ID倦始,我們?yōu)檫@個(gè) Hello World 項(xiàng)目定義 artifactId 為 hello-world,本書其他章節(jié)代碼會(huì)被分配其他的 artifactId山卦。而在前面的 groupId 為 com.googlecode.myapp 的例子中鞋邑,你可能會(huì)為不同的子項(xiàng)目(模塊)分配 artifactId,如: myapp-util怒坯、 myapp-domain炫狱、 myapp-web 等等。

version :

指定了 Hello World 項(xiàng)目當(dāng)前的版本——1.0-SNAPSHOT剔猿。 SNAPSHOT 意為快照视译,說明該項(xiàng)目還處于開發(fā)中,是不穩(wěn)定的版本归敬。隨著項(xiàng)目的發(fā)展酷含, version 會(huì)不斷更新,如升級為 1.0汪茧、 1.1-SNAPSHOT椅亚、1.1、 2.0 等等舱污。

本例是添加mysql驅(qū)動(dòng)包

添加完后呀舔,看一下本地maven倉庫,已經(jīng)幫你把mysql的驅(qū)動(dòng)包好了扩灯。

六媚赖、用maven 生成可執(zhí)行 jar

在pom.xml中添加下面與<dependencies/>同級別的標(biāo)簽霜瘪。

<build><plugins><plugin><artifactId>maven-assembly-plugin</artifactId><configuration><appendAssemblyId>false</appendAssemblyId><descriptorRefs><descriptorRef>jar-with-dependencies</descriptorRef></descriptorRefs><archive><manifest><mainClass>com.hainiuxy_linux.HelloWorld</mainClass><addClasspath>true</addClasspath><classpathPrefix>lib/</classpathPrefix></manifest></archive></configuration><executions><execution><id>make-assembly</id><phase>package</phase><goals><goal>assembly</goal></goals></execution></executions></plugin></plugins></build>

其中:

<mainClass>com.hainiuxy_linux.HelloWorld</mainClass>指的是 jar 文件中的啟動(dòng)類。

設(shè)置classpath 路徑

<addClasspath>true</addClasspath><classpathPrefix>lib/</classpathPrefix>

右鍵maven 工程 → Run As → Maven install

查看maven 控制臺(tái)惧磺,是否有報(bào)錯(cuò)信息颖对,如果沒有,會(huì)在maven 工程的 target 文件夾下生成一個(gè)可執(zhí)行 jar

如果再次打包時(shí)磨隘,需要先執(zhí)行 Run As → Maven clean缤底,再執(zhí)行 Run As → Maven install。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末番捂,一起剝皮案震驚了整個(gè)濱河市个唧,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌白嘁,老刑警劉巖坑鱼,帶你破解...
    沈念sama閱讀 216,544評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異絮缅,居然都是意外死亡鲁沥,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,430評論 3 392
  • 文/潘曉璐 我一進(jìn)店門耕魄,熙熙樓的掌柜王于貴愁眉苦臉地迎上來画恰,“玉大人,你說我怎么就攤上這事吸奴≡噬龋” “怎么了?”我有些...
    開封第一講書人閱讀 162,764評論 0 353
  • 文/不壞的土叔 我叫張陵则奥,是天一觀的道長考润。 經(jīng)常有香客問我,道長读处,這世上最難降的妖魔是什么糊治? 我笑而不...
    開封第一講書人閱讀 58,193評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮罚舱,結(jié)果婚禮上井辜,老公的妹妹穿的比我還像新娘。我一直安慰自己管闷,他們只是感情好粥脚,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,216評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著包个,像睡著了一般刷允。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,182評論 1 299
  • 那天树灶,我揣著相機(jī)與錄音搀菩,去河邊找鬼。 笑死破托,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的歧蒋。 我是一名探鬼主播土砂,決...
    沈念sama閱讀 40,063評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼谜洽!你這毒婦竟也來了萝映?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,917評論 0 274
  • 序言:老撾萬榮一對情侶失蹤阐虚,失蹤者是張志新(化名)和其女友劉穎序臂,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體实束,經(jīng)...
    沈念sama閱讀 45,329評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡奥秆,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,543評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了咸灿。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片构订。...
    茶點(diǎn)故事閱讀 39,722評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖避矢,靈堂內(nèi)的尸體忽然破棺而出悼瘾,到底是詐尸還是另有隱情,我是刑警寧澤审胸,帶...
    沈念sama閱讀 35,425評論 5 343
  • 正文 年R本政府宣布亥宿,位于F島的核電站,受9級特大地震影響砂沛,放射性物質(zhì)發(fā)生泄漏烫扼。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,019評論 3 326
  • 文/蒙蒙 一尺上、第九天 我趴在偏房一處隱蔽的房頂上張望材蛛。 院中可真熱鬧,春花似錦怎抛、人聲如沸卑吭。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,671評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽豆赏。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間掷邦,已是汗流浹背白胀。 一陣腳步聲響...
    開封第一講書人閱讀 32,825評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留抚岗,地道東北人或杠。 一個(gè)月前我還...
    沈念sama閱讀 47,729評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像宣蔚,于是被迫代替她去往敵國和親向抢。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,614評論 2 353