天天看點

maven的安裝與使用前言下載下傳與安裝修改配置使用maven

前言

Maven 是 Apache 下的一個純 Java 開發的開源項目。基于項目對象模型(縮寫:POM)概念,Maven利用一個中央資訊片斷能管理一個項目的建構、報告和文檔等步驟。

Maven 是一個項目管理工具,可以對 Java 項目進行建構、依賴管理。

下載下傳與安裝

maven官網:http://maven.apache.org/download.html

maven的安裝非常簡單:

  1. 将下載下傳的安裝包解壓到自己標明的目錄下
  2. 配置環境變量:
    • 此電腦-右鍵-屬性-進階系統設定-環境變量,打開環境變量配置頁面
    • 在【系統變量】中建立,變量名:MAVEN_HOME,變量值:D:\application\work\apache-maven-3.6.3(即maven解壓目錄)
    • 在【Path】中建立,寫入:%MAVEN_HOME%\bin
  3. 打開cmd,輸入:mvn -v,出現下圖說明安裝配置成功
maven的安裝與使用前言下載下傳與安裝修改配置使用maven

以上,Maven 安裝成功!

修改配置

maven安裝後,目錄結果如下:

maven的安裝與使用前言下載下傳與安裝修改配置使用maven

這裡重點有兩個目錄需要說明一下:

  • conf:配置檔案目錄
  • respository:倉庫目錄,這是自建目錄,用來作為本地倉庫存放jar包,而maven預設倉庫位址是 C:\Users\使用者名.m2

上面提到了maven中的respository目錄,這是我們自建的倉庫位址,接下來我們看一下怎麼讓maven下載下傳的jar包存入這個目錄。我們打開conf目錄下的【settings.xml】檔案,添加一行配置,如下圖:

maven的安裝與使用前言下載下傳與安裝修改配置使用maven

另外,為了提高jar包下載下傳速度,我們使用阿裡雲的鏡像:

<mirrors>
    <!-- 阿裡雲倉庫 -->
    <mirror>
        <id>alimaven</id>
        <mirrorOf>central</mirrorOf>
        <name>aliyun maven</name>
        <url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
    </mirror>
  </mirrors>           

複制

使用maven

建立maven項目後,項目中将有一個【pom.xml】檔案,這個檔案是我們管理項目依賴的關鍵。下面是一個最基礎的pom.xml:

<?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">
    <modelVersion>4.0.0</modelVersion>
    <groupId>org.example</groupId>
    <artifactId>test</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <java.version>1.8</java.version>
        <fastjson.version>1.2.47</fastjson.version>
    </properties>

    <dependencies>
       <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>${fastjson.version}</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>           

複制

可以看到檔案中有很多屬性,下面簡要概述一下這些屬性都起到什麼作用:

  1. modelVersion:指定了目前Maven模型的版本号,對于Maven2和Maven3來說,它隻能是4.0.0
  2. groupId:顧名思義,是公司名或是組織名。一般,groupId是由三個部分組成,每個部分之間以".“分隔,第一部分是項目用途,比如用于商業的就是"com”,用于非營利性組織的就是"org";第二部分是公司名,比如"baidu"、“alibaba”;第三部分是你的項目名
  3. artifactId:Maven建構的項目名,比如你的項目中有子項目,就可以使用"項目名-子項目名"的命名方式
  4. version:版本号,SNAPSHOT意為快照,說明該項目還在開發中,是不穩定的版本。
  5. properties:定義的一些屬性,比如jar包的版本,在後面可以直接引用這些屬性,便于集中管理
  6. dependency:依賴的資訊,例如上文中在【dependency】中描述了fastjson的資訊,【dependency】包裹在【dependencies】标簽中

在Maven中很重要的一點是,groupId、artifactId、version三個元素生成了一個Maven項目的基本坐标,例如:

<dependency>
	<groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.47</version>
</dependency>           

複制

接下來,我們了解一下maven管理項目依賴的基本原理:

一個項目會有很多jar的依賴,Maven工程首先會從本地倉庫中擷取jar包,當無法擷取指定jar包時,本地倉庫會從遠端倉庫(中央倉庫)中下載下傳jar包,并放入本地倉庫以備将來使用。三者的關系如下:

maven的安裝與使用前言下載下傳與安裝修改配置使用maven

補充一點,在IDEA中,每次建立項目後,會使用預設的本地倉庫位址,要做一下設定:file–settings–Maven。

maven的安裝與使用前言下載下傳與安裝修改配置使用maven