關(guān)于maven的用法和幾個常用的命令
做項目時使用maven構(gòu)建項目已經(jīng)是現(xiàn)在的流行做法了。
那么maven的作用是什么呢?
maven中的幾個常用的命令都有什么用?下面我們來看一下。
maven最大的作用就是用于對項目中jar包依賴的統(tǒng)一管理。
通常項目中如果不使用maven的話,項目中用到的jar包需要自己下載,然后放到項目的lib目錄,比較麻煩。
如果使用maven構(gòu)建項目,項目中就會有有一個pom文件,該pom文件的作用就是對項目中的所有jar包依賴進行統(tǒng)一管理,如果想要使用哪個依賴只需要在pom文件中引入相關(guān)的依賴就可以,然后maven就會自動從遠程倉庫下載jar包到本地倉庫。如果一下項目中需要引入另一個項目的包,也可以由maven打包加入該項目的依賴。
使用maven倉庫的話需要從網(wǎng)上下載maven的包,比如“apache-maven-3.5.4-bin.tar”,下載完成之后解壓,在解壓的文件夾中的conf目錄下的settings.xml文件夾下就可以配置maven遠程倉庫和本地倉庫的地址。配置了遠程倉庫的地址之后就可以從遠程倉庫下載jar包到本地倉庫了。
默認的遠程倉庫地址是國外的鏡像,下載jar包的話比較慢,可以使用國內(nèi)鏡像提高下載效率。
//國內(nèi)鏡像 <mirror> <id>CN</id> <name>OSChina Central</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <mirrorOf>central</mirrorOf> </mirror>
本地倉庫的地址也可以在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>
-->默認的本地倉庫地址是${user.home}/.m2/repository,如果是mac電腦的話默認地址就是/Users/本機用戶名/.m2。也可以修改本地倉庫地址為其他的地址。
遠程倉庫和本地倉庫配置好了,怎么在項目中使用maven呢?以Intellij IDEA為例。
首先新建項目的時候要構(gòu)建成maven項目。如果是導(dǎo)入項目導(dǎo)入的類型也可以選擇是maven項目,或者先倒入,等其他的都配置好了再把項目轉(zhuǎn)成maven項目。
然后配置maven,打開Intellij IDEA的Preferences。

點擊Build,Execution,Deployment中的maven,就可以對項目中使用到的maven進行配置。

其中主要有三項需要配置。
Maven home direcroty:地址是下載的解壓之后的maven壓縮包。User settings file:setting.xml所在的位置,通常是上面的Maven home direcroty的子目錄。Local repository:本地倉庫的地址。
也可以在新建maven項目的時候在項目配置中配置這些東西。
配置好了之后項目中就可以使用maven了。
以前沒有使用maven的時候項目之間的jar包都是獨立的,兩個項目之間即使有重復(fù)的jar包也不能實現(xiàn)復(fù)用,有了maven之后,多個項目可以共享同一個本地倉庫,所有的項目的jar包都依賴同一個本地倉庫,需要哪些依賴直接通過pom.xml指定就可以從中央倉庫下載了,方便又實用。
除此之外,maven還有一些常用的命令,更加方便項目的管理。
下面介紹一些常用的命令及其作用
(1)maven clean
對項目進行清理,清理的過程中會刪除刪除target目錄下編譯的內(nèi)容。
(2)maven compile
編譯項目源代碼。
(3)maven test
對項目的運行測試。
(4)maven packet
可以打包后的文件存放到項目的 target 目錄下,打包好的文件通常都是編譯后生成的class文件。
(4)maven install
在本地倉庫生成倉庫的安裝包可以供其他項目引用,同時打包后的文件存放到項目的 target 目錄下。
對項目打包有三種打包方式,pom打包,jar包和war包。打包方式在pom.xml文件中進行指定。
pom工程一般是聚合工程,代表父工程,負責(zé)管理jar包的版本、maven插件的版本等,主要做統(tǒng)一的依賴管理。
jar包就是普通的打包方式,可以是pom工程的子工程。
war包的都是web工程,是可以直接放到tomcat下運行的工程。
打成pom包和jar包的工程在新建的時候可以不需要制定maven項目的原型,達成war包的項目需要制定maven項目原型,指定的原型通常為maven-archetype-webapp,代表web項目。
其中最常用的就是maven clean和maven install。
maven在項目中還是很有用的。關(guān)于maven的基本用法就介紹到這里。
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
java hibernate使用注解來定義聯(lián)合主鍵
這篇文章主要介紹了java hibernate使用注解來定義聯(lián)合主鍵的相關(guān)資料,需要的朋友可以參考下2017-01-01
SpringCloud?Stream?整合RabbitMQ的基本步驟
這篇文章主要介紹了SpringCloud?Stream?整合RabbitMQ的基本步驟,從項目介紹到生產(chǎn)者結(jié)合示例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-03-03
詳解spring boot容器加載完后執(zhí)行特定操作
這篇文章主要介紹了詳解spring boot容器加載完后執(zhí)行特定操作,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-01-01
說說@ModelAttribute在父類和子類中的執(zhí)行順序
這篇文章主要介紹了@ModelAttribute在父類和子類中的執(zhí)行順序,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-06-06
關(guān)于mybatis一對一查詢一對多查詢遇到的問題
這篇文章主要介紹了關(guān)于mybatis一對一查詢,一對多查詢遇到的錯誤,接下來是對文章進行操作,要求查詢?nèi)课恼拢㈥P(guān)聯(lián)查詢作者,文章標簽,本文給大家介紹的非常詳細,需要的朋友可以參考下2022-05-05

