關(guān)于maven的用法和幾個(gè)常用的命令
做項(xiàng)目時(shí)使用maven構(gòu)建項(xiàng)目已經(jīng)是現(xiàn)在的流行做法了。
那么maven的作用是什么呢?
maven中的幾個(gè)常用的命令都有什么用?下面我們來(lái)看一下。
maven最大的作用就是用于對(duì)項(xiàng)目中jar包依賴(lài)的統(tǒng)一管理。
通常項(xiàng)目中如果不使用maven的話(huà),項(xiàng)目中用到的jar包需要自己下載,然后放到項(xiàng)目的lib目錄,比較麻煩。
如果使用maven構(gòu)建項(xiàng)目,項(xiàng)目中就會(huì)有有一個(gè)pom文件,該pom文件的作用就是對(duì)項(xiàng)目中的所有jar包依賴(lài)進(jìn)行統(tǒng)一管理,如果想要使用哪個(gè)依賴(lài)只需要在pom文件中引入相關(guān)的依賴(lài)就可以,然后maven就會(huì)自動(dòng)從遠(yuǎn)程倉(cāng)庫(kù)下載jar包到本地倉(cāng)庫(kù)。如果一下項(xiàng)目中需要引入另一個(gè)項(xiàng)目的包,也可以由maven打包加入該項(xiàng)目的依賴(lài)。
使用maven倉(cāng)庫(kù)的話(huà)需要從網(wǎng)上下載maven的包,比如“apache-maven-3.5.4-bin.tar”,下載完成之后解壓,在解壓的文件夾中的conf目錄下的settings.xml文件夾下就可以配置maven遠(yuǎn)程倉(cāng)庫(kù)和本地倉(cāng)庫(kù)的地址。配置了遠(yuǎn)程倉(cāng)庫(kù)的地址之后就可以從遠(yuǎn)程倉(cāng)庫(kù)下載jar包到本地倉(cāng)庫(kù)了。
默認(rèn)的遠(yuǎn)程倉(cāng)庫(kù)地址是國(guó)外的鏡像,下載jar包的話(huà)比較慢,可以使用國(guó)內(nèi)鏡像提高下載效率。
//國(guó)內(nèi)鏡像 <mirror> <id>CN</id> <name>OSChina Central</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <mirrorOf>central</mirrorOf> </mirror>
本地倉(cāng)庫(kù)的地址也可以在settings.xml文件中配置。
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"> <!-- localRepository | The path to the local repository maven will use to store artifacts. | | Default: ${user.home}/.m2/repository <localRepository>/path/to/local/repo</localRepository> -->
默認(rèn)的本地倉(cāng)庫(kù)地址是${user.home}/.m2/repository,如果是mac電腦的話(huà)默認(rèn)地址就是/Users/本機(jī)用戶(hù)名/.m2。也可以修改本地倉(cāng)庫(kù)地址為其他的地址。
遠(yuǎn)程倉(cāng)庫(kù)和本地倉(cāng)庫(kù)配置好了,怎么在項(xiàng)目中使用maven呢?以Intellij IDEA為例。
首先新建項(xiàng)目的時(shí)候要構(gòu)建成maven項(xiàng)目。如果是導(dǎo)入項(xiàng)目導(dǎo)入的類(lèi)型也可以選擇是maven項(xiàng)目,或者先倒入,等其他的都配置好了再把項(xiàng)目轉(zhuǎn)成maven項(xiàng)目。
然后配置maven,打開(kāi)Intellij IDEA的Preferences。
點(diǎn)擊Build,Execution,Deployment中的maven,就可以對(duì)項(xiàng)目中使用到的maven進(jìn)行配置。
其中主要有三項(xiàng)需要配置。
Maven home direcroty
:地址是下載的解壓之后的maven壓縮包。User settings file
:setting.xml所在的位置,通常是上面的Maven home direcroty的子目錄。Local repository
:本地倉(cāng)庫(kù)的地址。
也可以在新建maven項(xiàng)目的時(shí)候在項(xiàng)目配置中配置這些東西。
配置好了之后項(xiàng)目中就可以使用maven了。
以前沒(méi)有使用maven的時(shí)候項(xiàng)目之間的jar包都是獨(dú)立的,兩個(gè)項(xiàng)目之間即使有重復(fù)的jar包也不能實(shí)現(xiàn)復(fù)用,有了maven之后,多個(gè)項(xiàng)目可以共享同一個(gè)本地倉(cāng)庫(kù),所有的項(xiàng)目的jar包都依賴(lài)同一個(gè)本地倉(cāng)庫(kù),需要哪些依賴(lài)直接通過(guò)pom.xml指定就可以從中央倉(cāng)庫(kù)下載了,方便又實(shí)用。
除此之外,maven還有一些常用的命令,更加方便項(xiàng)目的管理。
下面介紹一些常用的命令及其作用
(1)maven clean
對(duì)項(xiàng)目進(jìn)行清理,清理的過(guò)程中會(huì)刪除刪除target目錄下編譯的內(nèi)容。
(2)maven compile
編譯項(xiàng)目源代碼。
(3)maven test
對(duì)項(xiàng)目的運(yùn)行測(cè)試。
(4)maven packet
可以打包后的文件存放到項(xiàng)目的 target 目錄下,打包好的文件通常都是編譯后生成的class文件。
(4)maven install
在本地倉(cāng)庫(kù)生成倉(cāng)庫(kù)的安裝包可以供其他項(xiàng)目引用,同時(shí)打包后的文件存放到項(xiàng)目的 target 目錄下。
對(duì)項(xiàng)目打包有三種打包方式,pom打包,jar包和war包。打包方式在pom.xml文件中進(jìn)行指定。
pom工程一般是聚合工程,代表父工程,負(fù)責(zé)管理jar包的版本、maven插件的版本等,主要做統(tǒng)一的依賴(lài)管理。
jar包就是普通的打包方式,可以是pom工程的子工程。
war包的都是web工程,是可以直接放到tomcat下運(yùn)行的工程。
打成pom包和jar包的工程在新建的時(shí)候可以不需要制定maven項(xiàng)目的原型,達(dá)成war包的項(xiàng)目需要制定maven項(xiàng)目原型,指定的原型通常為maven-archetype-webapp,代表web項(xiàng)目。
其中最常用的就是maven clean和maven install。
maven在項(xiàng)目中還是很有用的。關(guān)于maven的基本用法就介紹到這里。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java對(duì)中文進(jìn)行排序的實(shí)現(xiàn)示例
工作中,我們經(jīng)常會(huì)遇到需要進(jìn)行各種排序的需求,本文主要介紹了Java對(duì)中文進(jìn)行排序的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下2024-02-02java hibernate使用注解來(lái)定義聯(lián)合主鍵
這篇文章主要介紹了java hibernate使用注解來(lái)定義聯(lián)合主鍵的相關(guān)資料,需要的朋友可以參考下2017-01-01SpringCloud?Stream?整合RabbitMQ的基本步驟
這篇文章主要介紹了SpringCloud?Stream?整合RabbitMQ的基本步驟,從項(xiàng)目介紹到生產(chǎn)者結(jié)合示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-03-03Spring Boot集成Spring Cache過(guò)程詳解
這篇文章主要介紹了Spring Boot集成Spring Cache過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-10-10詳解spring boot容器加載完后執(zhí)行特定操作
這篇文章主要介紹了詳解spring boot容器加載完后執(zhí)行特定操作,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-01-01說(shuō)說(shuō)@ModelAttribute在父類(lèi)和子類(lèi)中的執(zhí)行順序
這篇文章主要介紹了@ModelAttribute在父類(lèi)和子類(lèi)中的執(zhí)行順序,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-06-06關(guān)于mybatis一對(duì)一查詢(xún)一對(duì)多查詢(xún)遇到的問(wèn)題
這篇文章主要介紹了關(guān)于mybatis一對(duì)一查詢(xún),一對(duì)多查詢(xún)遇到的錯(cuò)誤,接下來(lái)是對(duì)文章進(jìn)行操作,要求查詢(xún)?nèi)课恼?,并關(guān)聯(lián)查詢(xún)作者,文章標(biāo)簽,本文給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-05-05IDEA之web項(xiàng)目導(dǎo)入jar包方式
這篇文章主要介紹了IDEA之web項(xiàng)目導(dǎo)入jar包方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-05-05