溫馨提示×

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

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

maven自動(dòng)化構(gòu)建工具的安裝和配置方法

發(fā)布時(shí)間:2021-06-30 17:53:18 來(lái)源:億速云 閱讀:284 作者:chen 欄目:編程語(yǔ)言

本篇內(nèi)容主要講解“maven自動(dòng)化構(gòu)建工具的安裝和配置方法”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“maven自動(dòng)化構(gòu)建工具的安裝和配置方法”吧!

 一、Maven簡(jiǎn)介

1、Maven可以管理jar包文件,自動(dòng)下載jar和他的文檔,源代碼。

2、Maven可以管理jar包之間的依賴(lài)、jar包的版本

3、Maven的構(gòu)建:

(1)清理:把之前項(xiàng)目編譯的東西刪除掉。

(2)編譯:把程序代碼編譯為執(zhí)行代碼,java-class文件

(3)測(cè)試:maven可執(zhí)行測(cè)試程序代碼,驗(yàn)證你的功能是都正確

(4)報(bào)告:生成測(cè)試結(jié)果的文件

(5)打包:把項(xiàng)目中所有class文件,配置文件等所有資源放到一個(gè)壓縮文件中,java程序壓縮文件通常是jar或war包

(6)安裝:把打包的文件安裝到本地倉(cāng)庫(kù)

(7).部署:把程序安裝好可以執(zhí)行

4、Maven核心概念:

(1)POM:pom.xml,項(xiàng)目對(duì)象模型,控制maven構(gòu)建項(xiàng)目的過(guò)程,管理jar依賴(lài)

(2)約定的目錄結(jié)構(gòu):maven項(xiàng)目的目錄和文件的位置都是規(guī)定的

(3)坐標(biāo):唯一的字符串,用來(lái)表示資源

(4)依賴(lài)管理:管理項(xiàng)目中使用的jar文件

(5)倉(cāng)庫(kù)管理:資源存在的位置

(6)生命周期:maven構(gòu)建項(xiàng)目的過(guò)程

(7)插件和目標(biāo):執(zhí)行maven構(gòu)建的時(shí)候用的工具

(8)繼承與聚合:類(lèi)似java語(yǔ)法

5、maven工具的安裝和配置:

(1)官網(wǎng)下載:

https://maven.apache.org/download.cgi

(2)解壓安裝包:非中文目錄

子目錄bin:執(zhí)行程序mv.cmd

conf:maven工具配置文件settings.xml

(3)配置環(huán)境變量:

在系統(tǒng)的環(huán)境變量中新增maven工具的安裝目錄,并在path中新增:

MAVEN_HOME -> D:\Program Files (x86)\apache-maven-3.8.1

path -> %MAVEN_HOME%\bin\

驗(yàn)證配置成功:cmd -> mvn -v

二、Maven核心概念

1、maven約定的目錄結(jié)構(gòu)(項(xiàng)目-Hello)

Hello/

    ---/src

 ------/main              #主程序java代碼和配置文件

    ----------/java          #程序包和包中的java文件

    ----------/resource   #java程序中使用的配置文件

    ------/test                #放測(cè)試程序代碼和文件的(可以沒(méi)有)

    ----------/java          #測(cè)試程序包和包中的java文件

    ----------/resource  #測(cè)試java程序中使用的配置文件

    ---/pom.xml maven的核心文件(必有)

maven自動(dòng)化構(gòu)建工具的安裝和配置方法

PS D:\javaProjects> tree Hello
卷 軟件 的文件夾 PATH 列表
卷序列號(hào)為 00000073 AEF0:3DBD
D:\JAVAPROJECTS\HELLO
└─src
    ├─main
    │  ├─java
    │  └─resources
    └─test
        ├─java
        └─resources
PS D:\javaProjects>

復(fù)制代碼

2、倉(cāng)庫(kù):

(1)倉(cāng)庫(kù)概念:存在maven使用的jar和項(xiàng)目使用的jar

(2)倉(cāng)庫(kù)分類(lèi):本地倉(cāng)庫(kù)與遠(yuǎn)程倉(cāng)庫(kù)

(3)倉(cāng)庫(kù)的使用:倉(cāng)庫(kù)的使用不需人為參與,需要jar包時(shí)訪(fǎng)問(wèn)順序:本地倉(cāng)庫(kù)->私服->鏡像->中央倉(cāng)庫(kù)

3、POM:Maven的靈魂

(1)modelVersion:目前的版本4.0

(2)groupId:組織名稱(chēng),一般為公司域名倒寫(xiě)(+項(xiàng)目名稱(chēng))

(3)artifactId:項(xiàng)目名稱(chēng)

(4)version:項(xiàng)目版本號(hào),通常為-SNAPSHOT

(5)packaging:項(xiàng)目打包類(lèi)型:jar、war、rar、ear、pom,默認(rèn)jar

(6)<dependencies><!- -依賴(lài)- -相當(dāng)于import></dependencies>
(7)properties:定義一些配置屬性,如項(xiàng)目編碼方式等

(8)bulid:maven構(gòu)建時(shí)一些配置信息,如編譯插件啊的jdk版本

其中:groupId+artifactId+version為坐標(biāo)

https://mvnrepository.com/ 搜索使用的中央倉(cāng)庫(kù)

4、Maven生命周、Maven常用命令、Maven插件:

(1)maven的生命周期即Maven構(gòu)建項(xiàng)目的過(guò)程:清理、編譯、測(cè)試、報(bào)告、打包、安裝、部署的過(guò)程

(2)maven的命令:Maven可以使用命令,完成項(xiàng)目聲明周期的執(zhí)行

(3)maven的插件:maven命令的執(zhí)行,通過(guò)相應(yīng)的jar來(lái)完成

清理(會(huì)刪除原來(lái)編譯和測(cè)試的目錄),即target目錄,但是

三、Maven的使用

1、mvn compile:編譯src/main目錄下所有java文件

(1)編譯時(shí)下載JAVA插件

(2)下載插件,存放在本機(jī)默認(rèn)倉(cāng)庫(kù):C:\Users\Mr.White\.m2\repository

(3)結(jié)果在項(xiàng)目根目錄下生成target目錄,maven編譯的java程序,class文件。

maven自動(dòng)化構(gòu)建工具的安裝和配置方法

D:\javaProjects\Hello>mvn compile
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------< com.testbk:testjava >-------------------------[INFO] Building maven 0.0.1-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ testjava ---[WARNING] Using platform encoding (GBK actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] Copying 0 resource
[INFO]
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ testjava ---[INFO] Nothing to compile - all classes are up to date
[INFO] ------------------------------------------------------------------------[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------[INFO] Total time:  0.750 s
[INFO] Finished at: 2021-04-21T22:20:01+08:00[INFO] ------------------------------------------------------------------------

復(fù)制代碼

2、設(shè)置本機(jī)存放資源的目錄位置:

修改maven配置文件,安裝目錄:/conf/setting.xml文件,新增

<localRepository>D:/maven-repository</localRepository>

3、添加mysql資源依賴(lài)

pom文件內(nèi)添加:

maven自動(dòng)化構(gòu)建工具的安裝和配置方法

    <dependencies>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.9</version>
        </dependency>
    </dependencies>

復(fù)制代碼

4、Maven常用命令:(必須在pom文件所在目錄下執(zhí)行)

(1)mvn clean:清理(刪除原來(lái)編譯和測(cè)試的目錄,即target目錄,但是已經(jīng)install到倉(cāng)庫(kù)里的包不會(huì)刪除)

(2)mvn compile:編譯主程序(會(huì)在當(dāng)前目錄下生成一個(gè)target,里面存放編譯主程序之后生成的字節(jié)碼文件)main/java目錄下程序

(3)mvn test-compile:只編譯test程序 test/java目錄下的程序

(4)mvn test:測(cè)試

clean到test的部署參考:Junit單元測(cè)試

(5)mvn package:打包主程序,會(huì)編譯、測(cè)試并打包主程序(scr/main下所有java程序),放入target目錄下

maven自動(dòng)化構(gòu)建工具的安裝和配置方法

[INFO] Building jar: D:\javaProjects\Hello\target\testjava-0.0.1-SNAPSHOT.jar
[INFO] ------------------------------------------------------------------------[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------[INFO] Total time:  10.630 s
[INFO] Finished at: 2021-04-25T22:17:33+08:00[INFO] ------------------------------------------------------------------------

復(fù)制代碼

(6)mvn install:安裝主程序,會(huì)把本工程打包,并保存到本地倉(cāng)庫(kù)中。

maven自動(dòng)化構(gòu)建工具的安裝和配置方法

[INFO] Installing D:\javaProjects\Hello\target\testjava-0.0.1-SNAPSHOT.jar to C:\Users\Mr.White\.m2\repository\com\testbk\testjava\0.0.1-SNAPSHOT\testjava-0.0.1-SNAPSHOT.jar
[INFO] Installing D:\javaProjects\Hello\pom.xml to C:\Users\Mr.White\.m2\repository\com\testbk\testjava\0.0.1-SNAPSHOT\testjava-0.0.1-SNAPSHOT.pom
[INFO] ------------------------------------------------------------------------[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------[INFO] Total time:  9.078 s
[INFO] Finished at: 2021-04-25T22:44:03+08:00[INFO] ------------------------------------------------------------------------

復(fù)制代碼

(7)mvn deploy:部署主程序,會(huì)把本地工程打包,按照坐標(biāo)保存到本地庫(kù),并且還保存到私服倉(cāng)庫(kù)中。(使用較少)

5、插件配置:build :maven-compiler-plugin

maven自動(dòng)化構(gòu)建工具的安裝和配置方法

<build>
    <plugins>
        <plugin>
        <!-- 指定maven編譯的jdk版本,如果不指定,maven3默認(rèn)用jdk 1.5 maven2默認(rèn)用jdk1.3 --> 
        <groupId>org.apache.maven.plugins</groupId> 
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.8.1</version>
        <configuration>
            <source>1.8</source>
            <target>1.8</target>
        <compilerArgs>
        <arg>-parameters</arg>
        </compilerArgs>
        </configuration>
    </plugin>
    </plugins>
</build>

復(fù)制代碼

四、Maven在IDEA中的應(yīng)用

1、idea中設(shè)置maven

idea中內(nèi)置了maven,但一般不使用內(nèi)置的,因?yàn)樾薷呐渲貌环奖悖凰允褂米约喊惭b的maven,需覆蓋idea中默認(rèn)的設(shè)置,讓idea指定maven安裝位置等信息

idea配置入口:

(配置當(dāng)前工程)File - > Settings - > Build,Execution,Deployment - > Build Tools -> Maven

(配置以后新建工程)File -> New Projects Settings -> Settings for New Projects -> Build,Execution,Deployment - > Build Tools -> Maven

Maven home directory:maven的安裝目錄

User settings file:mavne安裝目錄conf/setting.xml配置文件

Local respository:本機(jī)倉(cāng)庫(kù)的目錄位置

maven自動(dòng)化構(gòu)建工具的安裝和配置方法

Running -> JRE-1.8;VM Options:-DarchetypeCatalog=internal(提高maven創(chuàng)建效率,不再下載)

maven自動(dòng)化構(gòu)建工具的安裝和配置方法

package com.testbk;public class HelloMaven {public int add(int n1,int n2){return n1+n2;
    }public static void main(String[] args) {
        HelloMaven hello = new HelloMaven();int res = hello.add(10,20);
        System.out.println("10+20="+res);
    }
}

復(fù)制代碼

maven自動(dòng)化構(gòu)建工具的安裝和配置方法

package com.testbk;import org.junit.Assert;import org.junit.Test;public class TestHelloMaven {

    @Testpublic void testAdd(){
        System.out.println("========testAdd 測(cè)試add方法=================");
        HelloMaven hello = new HelloMaven();int res = hello.add(10,20);//判斷結(jié)果是否正確Assert.assertEquals(30,res);
    }
}

復(fù)制代碼

運(yùn)行程序測(cè)試通過(guò):

maven自動(dòng)化構(gòu)建工具的安裝和配置方法

 4、idea-maven工具窗口

使用工具窗口可完成:clean、compile、test、package、install等操作

maven自動(dòng)化構(gòu)建工具的安裝和配置方法

 五、依賴(lài)管理

 1、依賴(lài)的范圍:

使用scope表示:表示依賴(lài)使用的范圍,即在maven構(gòu)建的項(xiàng)目中的哪些階段中起作用。

值包含compile、test、provided(提供者),默認(rèn)采用compile(所有階段)。如junit的依賴(lài)范圍是test鄭州男科醫(yī)院哪家好http://www.ytsgnk.com/

復(fù)制代碼

    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>

maven自動(dòng)化構(gòu)建工具的安裝和配置方法

2、舉例使用:Mybatis-sprint/druid

    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis</artifactId>
      <version>2.0.4</version>
    </dependency>
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid</artifactId>
    <version>1.1.22</version>
</dependency>

六、Maven常用設(shè)置

1、屬性設(shè)置:<properties>與</properties>內(nèi)

<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> :maven構(gòu)建項(xiàng)目使用的編碼方式,避免中文亂碼

<maven.compiler.source>1.7</maven.compiler.source>:編譯代碼使用的jdk版本

<maven.compiler.target>1.7</maven.compiler.target>:運(yùn)行程序使用的jdk版本鄭州男科醫(yī)院哪家好http://www.zztjnk.com/

2、全局變量:

自定義的屬性,在<properties>中通過(guò)自定義標(biāo)簽聲明變量(標(biāo)簽名就是變量名),在pom.xml文件中的其他位置,使用${標(biāo)簽名}使用變量的值

自定義全局變量一般是定義依賴(lài)的版本號(hào),當(dāng)你的項(xiàng)目中要使用多個(gè)相同的版本號(hào),

先使用全局變量定義,在使用${變量名},如spring框架

  <properties>
    <!--自定義變量,表示版本號(hào)-->
    <spring.version>5.3.6</spring.version>
  </properties>

復(fù)制代碼

    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-core</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-aop</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>${spring.version}</version>
    </dependency>
  </dependencies>

maven自動(dòng)化構(gòu)建工具的安裝和配置方法

3.指定資源的插件

在<build></build>中指定資源的插件resources

(1)默認(rèn)沒(méi)有使用resources的時(shí)候,maven執(zhí)行編譯代碼的時(shí)候,會(huì)把src/main/resources目錄中的文件拷貝至target/classes目錄中。

  對(duì)于src/main/java目錄下的非java文件不處理,不拷貝到target/classes目錄中

(2)我們的程序有需要把一些文件放在src/main/java目錄中,當(dāng)執(zhí)行java程序時(shí),需要用到src/main/java目錄中的文件,

  需要告訴maven在mvn compile src/main/java目錄下的程序時(shí),需要把文件一同拷貝到target/classes目錄中。

  此時(shí)就需要在<build>中加入<resources>

到此,相信大家對(duì)“maven自動(dòng)化構(gòu)建工具的安裝和配置方法”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢(xún),關(guān)注我們,繼續(xù)學(xué)習(xí)!

向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