解析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的話,項(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ù)的話需要從網(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包的話比較慢,可以使用國(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電腦的話默認(rèn)地址就是/Users/本機(jī)用戶名/.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的基本用法就介紹到這里。
總結(jié)
到此這篇關(guān)于maven的用法和幾個(gè)常用的命令的文章就介紹到這了,更多相關(guān)maven用法和常用命令內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
java中volatile不能保證線程安全(實(shí)例講解)
下面小編就為大家?guī)?lái)一篇java中volatile不能保證線程安全(實(shí)例講解)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-09-09Java解決線程的不安全問(wèn)題之volatile關(guān)鍵字詳解
這篇文章主要介紹了Java解決線程的不安全問(wèn)題之volatile關(guān)鍵字詳解,可見(jiàn)性指一個(gè)線程對(duì)共享變量值的修改,能夠及時(shí)地被其他線程看到,而 volatile 關(guān)鍵字就保證內(nèi)存的可見(jiàn)性,需要的朋友可以參考下2023-08-08SpringBoot+JWT實(shí)現(xiàn)單點(diǎn)登錄完美解決方案
單點(diǎn)登錄是一種統(tǒng)一認(rèn)證和授權(quán)機(jī)制,指在多個(gè)應(yīng)用系統(tǒng)中,用戶只需要登錄一次就可以訪問(wèn)所有相互信任的系統(tǒng),不需要重新登錄驗(yàn)證,這篇文章主要介紹了SpringBoot+JWT實(shí)現(xiàn)單點(diǎn)登錄解決方案,需要的朋友可以參考下2023-07-07Mybatis-plus出現(xiàn)數(shù)據(jù)庫(kù)id很大或者為負(fù)數(shù)的解決
本文主要介紹了Mybatis-plus出現(xiàn)數(shù)據(jù)庫(kù)id很大或者為負(fù)數(shù)的解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02全解史上最快的JOSN解析庫(kù)alibaba Fastjson
這篇文章主要介紹了史上最快的JOSN解析庫(kù)alibaba Fastjson,對(duì)FastJson感興趣的同學(xué),一定要看一下2021-04-04