Java代審:Maven基礎知識

廣州錦行科技發表於2021-12-23

前言


  • Maven 是一個專案構建和管理工具,利用它可以對 JAVA 專案進行構建和依賴管理。

  • Maven 採用專案物件模型 POM(Project Object Model)來管理專案。

  • Maven 的主要工作就是用來解析一些 XML 文件、管理生命週期與外掛。

  • Maven 被設計成將主要的職責委派給一組 Maven 外掛,這些外掛可以影響 Maven 生命週期,提供對目標的訪問。


0x01 Maven環境配置


1. JDK安裝以及系統要求

Maven 是一個基於 Java 的工具,所以要做的第一件事情就是安裝 JDK(自行百度)。

系統要求

圖片


2. Maven安裝及環境變數配置

Mevan下載:http://maven.apache.org/download.cgi

圖片


對應平臺下載Maven包及解壓路徑

圖片



設定 Maven 環境變數


Windows
新建系統變數 MAVEN_HOME,變數值:E:Mavenapache-maven-3.3.9

圖片


編輯系統變數Path,新增變數值:;%MAVEN_HOME%bin

圖片


Linux
下載解壓:

# wget http://mirrors.hust.edu.cn/apache/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz
# tar -xvf  apache-maven-3.3.9-bin.tar.gz
# sudo mv -f apache-maven-3.3.9 /usr/local/


編輯 /etc/profile 檔案 sudo vim /etc/profile,在檔案末尾新增如下程式碼:

export MAVEN_HOME=/usr/local/apache-maven-3.3.9
export PATH=${PATH}:${MAVEN_HOME}/bin


儲存檔案,並執行如下命令使環境變數生效:
在控制檯輸入如下命令,如果能看到 Maven 相關版本資訊,則說明 Maven 已經安裝成功:

# source /etc/profile
# mvn -v


Mac
下載解壓:

$ curl -O http://mirrors.hust.edu.cn/apache/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz
$ tar -xvf  apache-maven-3.3.9-bin.tar.gz
$ sudo mv -f apache-maven-3.3.9 /usr/local/


編輯 /etc/profile 檔案 sudo vim /etc/profile,在檔案末尾新增如下程式碼:

export MAVEN_HOME=/usr/local/apache-maven-3.3.9
export PATH=${PATH}:${MAVEN_HOME}/bin


儲存檔案,並執行如下命令使環境變數生效:

$ source /etc/profile


在控制檯輸入如下命令,如果能看到 Maven 相關版本資訊,則說明 Maven 已經安裝成功:

$ mvn -v
Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-11T00:41:47+08:00)
Maven home: /usr/local/apache-maven-3.3.9
Java version: 1.8.0_31, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk1.8.0_31.jdk/Contents/Home/jre
Default locale: zh_CN, platform encoding: ISO8859-1
OS name: "mac os x", version: "10.13.4", arch: "x86_64", family: "mac"


0x02 Maven引入外部依賴


專案結構

圖片


如果我們的專案需要引入外部依賴時,可以在pom.xml檔案中新增依賴

eg:sevlet的依賴

       <dependency>
           <groupId>javax.servlet</groupId>
           <artifactId>javax.servlet-api</artifactId>
           <version>4.0.1</version>
           <scope>provided</scope>
       </dependency>


完整的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>javaweb-03-jsp</artifactId>
   <packaging>pom</packaging>
   <version>1.0-SNAPSHOT</version>
   <modules>
       <module>servlet-01</module>
   </modules>
   <dependencies>
       <!-- https://mvnrepository.com/artifact/taglibs/standard -->
       <dependency>
           <groupId>taglibs</groupId>
           <artifactId>standard</artifactId>
           <version>1.1.2</version>
       </dependency>
       <!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
       <dependency>
           <groupId>javax.servlet</groupId>
           <artifactId>javax.servlet-api</artifactId>
           <version>4.0.1</version>
           <scope>provided</scope>
       </dependency>
       <!-- https://mvnrepository.com/artifact/javax.servlet.jsp/javax.servlet.jsp-api -->
       <dependency>
           <groupId>javax.servlet.jsp</groupId>
           <artifactId>javax.servlet.jsp-api</artifactId>
           <version>2.3.3</version>
           <scope>provided</scope>
       </dependency>
       <!-- https://mvnrepository.com/artifact/javax.servlet.jsp.jstl/jstl -->
       <dependency>
           <groupId>javax.servlet.jsp.jstl</groupId>
           <artifactId>jstl</artifactId>
           <version>1.2</version>
       </dependency>

   </dependencies>

</project>


在專案中使用到的依賴包在生成war時會在WEB-INF資料夾下的lib檔案匯入使用

圖片

依賴庫:https://mvnrepository.com/


相關文章