溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Maven入門知識(shí)點(diǎn)有哪些

發(fā)布時(shí)間:2021-12-14 17:32:41 來(lái)源:億速云 閱讀:144 作者:iii 欄目:互聯(lián)網(wǎng)科技

這篇文章主要介紹“Maven入門知識(shí)點(diǎn)有哪些”,在日常操作中,相信很多人在Maven入門知識(shí)點(diǎn)有哪些問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”Maven入門知識(shí)點(diǎn)有哪些”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!

一、Maven的基本概念

  Maven(翻譯為"專家","內(nèi)行")是跨平臺(tái)的項(xiàng)目管理工具。主要服務(wù)于基于Java平臺(tái)的項(xiàng)目構(gòu)建,依賴管理和項(xiàng)目信息管理。

1.1、項(xiàng)目構(gòu)建

  項(xiàng)目構(gòu)建過(guò)程包括【清理項(xiàng)目】→【編譯項(xiàng)目】→【測(cè)試項(xiàng)目】→【生成測(cè)試報(bào)告】→【打包項(xiàng)目】→【部署項(xiàng)目】這幾個(gè)步驟,這六個(gè)步驟就是一個(gè)項(xiàng)目的完整構(gòu)建過(guò)程。

  理想的項(xiàng)目構(gòu)建是高度自動(dòng)化,跨平臺(tái),可重用的組件,標(biāo)準(zhǔn)化的,使用maven就可以幫我們完成上述所說(shuō)的項(xiàng)目構(gòu)建過(guò)程。

1.2、依賴管理

  依賴指的是jar包之間的相互依賴,比如我們搭建一個(gè)Struts2的開(kāi)發(fā)框架時(shí),光光有struts2-core-2.3.16.3.jar這個(gè)jar包是不行的,struts2-core-2.3.16.3.jar還依賴其它的jar包,依賴管理指的就是使用Maven來(lái)管理項(xiàng)目中使用到的jar包,Maven管理的方式就是“自動(dòng)下載項(xiàng)目所需要的jar包,統(tǒng)一管理jar包之間的依賴關(guān)系”。

1.3、使用Maven的好處

  Maven中使用約定,約定java源代碼代碼必須放在哪個(gè)目錄下,編譯好的java代碼又必須放到哪個(gè)目錄下,這些目錄都有明確的約定。

  Maven的每一個(gè)動(dòng)作都擁有一個(gè)生命周期,例如執(zhí)行 mvn install 就可以自動(dòng)執(zhí)行編譯,測(cè)試,打包等構(gòu)建過(guò)程

  只需要定義一個(gè)pom.xml,然后把源碼放到默認(rèn)的目錄,Maven幫我們處理其他事情

  使用Maven可以進(jìn)行項(xiàng)目高度自動(dòng)化構(gòu)建,依賴管理(這是使用Maven最大的好處),倉(cāng)庫(kù)管理。

二、Maven下載

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

  下載完成后,得到一個(gè)壓縮包,解壓,可以看到maven的組成目錄

  Maven目錄分析

  • bin:含有mvn運(yùn)行的腳本

  • boot:含有plexus-classworlds類加載器框架

  • conf:含有settings.xml配置文件

  • lib:含有Maven運(yùn)行時(shí)所需要的java類庫(kù)

  • LICENSE.txt, NOTICE.txt, README.txt針對(duì)Maven版本,第三方軟件等簡(jiǎn)要介紹

三、Maven安裝

  1、首先要確保電腦上已經(jīng)安裝了JDK(要jdk 1.6+的版本),配置好JDK的環(huán)境變量,使用如下的兩個(gè)命令檢查檢查JDK安裝的情況。

1 Echo %JAVA_HOME%2 Java -version

  2、對(duì)apache-maven-3.2.3-bin.zip進(jìn)行解壓縮

  對(duì)apache-maven-3.2.3-bin.zip進(jìn)行解壓縮,例如解壓到如下目錄(解壓目錄最好不要有中文)

  3、設(shè)置系統(tǒng)環(huán)境變量:MAVEN_HOME

  4、設(shè)置環(huán)境變量Path,將%MAVEN_HOME%\bin加入Path中,一定要注意要用分號(hào);與其他值隔開(kāi),如下圖所示:

  

  %MAVEN_HOME%\bin代表的就是"E:\apache-maven-3.2.3\bin"目錄

  5、驗(yàn)證Maven安裝是否成功

  打開(kāi)cmd窗口

  輸入"mvn –v"命令 查看Maven的相關(guān)信息,如下圖所示:

  能夠出現(xiàn)這樣的信息就說(shuō)明Maven的安裝已經(jīng)成功了。

  6、設(shè)置MAVEN_OPTS環(huán)境變量(可選配置)

  由于Maven命令實(shí)際上是執(zhí)行了Java命令,所以可以通過(guò)JAVA命令參數(shù)的方式來(lái)設(shè)置MAVEN運(yùn)行參數(shù)。MAVEN_OPTS環(huán)境變量正是用于此用途

  MAVEN_OPTS

  -Xms128m -Xmx512m,分別設(shè)置JVM的最小和最大內(nèi)存,如下圖所示:

四、Maven的簡(jiǎn)單使用

4.1、Maven項(xiàng)目的目錄約定

MavenProjectRoot(項(xiàng)目根目錄)
   |----src
   |     |----main
   |     |         |----java ——存放項(xiàng)目的.java文件
   |     |         |----resources ——存放項(xiàng)目資源文件,如spring, hibernate配置文件
   |     |----test
   |     |         |----java ——存放所有測(cè)試.java文件,如JUnit測(cè)試類
   |     |         |----resources ——存放項(xiàng)目資源文件,如spring, hibernate配置文件
   |----target ——項(xiàng)目輸出位置
   |----pom.xml ----用于標(biāo)識(shí)該項(xiàng)目是一個(gè)Maven項(xiàng)目

4.2、手動(dòng)創(chuàng)建Maven項(xiàng)目,使用Maven編譯

  1、創(chuàng)建項(xiàng)目根文件夾,例如Maven01

  Maven入門知識(shí)點(diǎn)有哪些

  2、在Maven01文件夾中創(chuàng)建“pom.xml”文件,如下圖所示:

  

  pom.xml文件中的內(nèi)容如下:

<?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">
    <!--所有的Maven項(xiàng)目都必須配置這四個(gè)配置項(xiàng)-->
    <modelVersion>4.0.0</modelVersion>
    <!--groupId指的是項(xiàng)目名的項(xiàng)目組,默認(rèn)就是包名-->
    <groupId>cn.gacl.maven.hello</groupId>
    <!--artifactId指的是項(xiàng)目中的某一個(gè)模塊,默認(rèn)命名方式是"項(xiàng)目名-模塊名"-->
    <artifactId>hello-first</artifactId>
    <!--version指的是版本,這里使用的是Maven的快照版本-->
    <version>SNAPSHOT-0.0.1</version>
</project>

  3.編寫Java類文件,Maven項(xiàng)目規(guī)定,所有的*.java文件必須放在src目錄下的main目錄下的java目錄中,在Maven01項(xiàng)目根目錄中創(chuàng)建一個(gè)src目錄,然后在src目錄中創(chuàng)建main目錄,在main目錄中再創(chuàng)建java文件夾,如下圖所示:

  Maven入門知識(shí)點(diǎn)有哪些Maven入門知識(shí)點(diǎn)有哪些

  在java文件夾下創(chuàng)建一個(gè)Hello.java文件,如下圖所示

  

  在Hello.java文件中編寫如下代碼:

public class Hello{
     public static void main(String[] args){
         System.out.println("Hello Maven");
     }
 }

  4.使用Maven編譯Hello.java,首先進(jìn)入到項(xiàng)目根目錄,然后使用命令”mvn compile”進(jìn)行編譯,如下圖所示:

  Maven入門知識(shí)點(diǎn)有哪些

  使用Maven編譯完成之后,在項(xiàng)目根目錄下會(huì)生成一個(gè)target文件夾,如下圖所示:

  Maven入門知識(shí)點(diǎn)有哪些

  5.使用"mvn clean"命令清除編譯結(jié)果,也就是把編譯生成的target文件夾刪掉,如下圖所示:

  執(zhí)行完"mvn clean"命令后,target文件夾就會(huì)被刪除了。

五、修改從Maven中心倉(cāng)庫(kù)下載到本地的jar包的默認(rèn)存儲(chǔ)位置

  從Maven中心倉(cāng)庫(kù)下載到本地的jar包的默認(rèn)存放在”${user.home}/.m2/repository”中,${user.home}表示當(dāng)前登錄系統(tǒng)的用戶目錄(如"C:\Users\gacl"),如下圖所示

  Jar包存放在這個(gè)位置不太好,我們希望能夠自己定義下載下來(lái)的jar包的存放位置,因此我們可以自己設(shè)置下載到本地時(shí)的jar包的存放目錄。

  在“E:\”目錄下創(chuàng)建一個(gè)“repository”文件夾

  找到apache-maven-3.2.3\conf目錄下的settings.xml文件,如下圖所示:

  編輯setting.xml文件,如下圖所示:

  加上下面的代碼

1 <localRepository>E:/repository</localRepository>

  這樣就可以把jar包下載到我們指定的E:/repository目錄中了,如下圖所示:

  把jar包下載到本地的好處就是,當(dāng)編譯時(shí),會(huì)優(yōu)先從本地的jar包去找,如果本地存在,就直接拿來(lái)用,如果不存在,就從Maven的中心倉(cāng)庫(kù)去下載。如下圖所示:

  第一次執(zhí)行"mvn compile"和"mvn clean"這兩個(gè)命令時(shí),Maven會(huì)去中央倉(cāng)庫(kù)下載需要的jar包,而第二次執(zhí)行這兩個(gè)命令時(shí),由于所需的jar包已經(jīng)在本地的倉(cāng)庫(kù)中存儲(chǔ),所以就可以直接拿來(lái)用了,這樣就省去了去中央倉(cāng)庫(kù)下載jar包的時(shí)間。

到此,關(guān)于“Maven入門知識(shí)點(diǎn)有哪些”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI