Maven基本使用方法


2.Maven簡介

  1. 在項目中如何導入jar包

image

  1. 傳統導入jar包的方式存在什么問題?

image

  1. 項目生命周期:項目從編譯到運行的整個過程。

    完整的生命周期:清理緩存——》校驗——》編譯——》測試——》打包——》安裝——》部屬

    • IDEA提供了一鍵構建項目的功能,但是如果我們需要自定義的生命周期管理,卻沒有現成的工具(清理緩存)

    • 4.Maven簡介:

      Maven是一個基於項目對象模型(POM)用於進行項目的依賴管理、生命周期管理的工具軟件

      核心功能:

      項目的依賴管理

​ 項目生命周期管理

​ 聚合工程

2.1 Maven安裝及配置
2.1.1 下載

image

Maven下載官網鏈接:Maven – Welcome to Apache Maven

2.1.2 安裝

Maven是基於Java語言進行開發的,因此依賴JDK(建議JDK1.7+)

開箱即用:直接解壓即可

  • 解壓(D:/Maven)

  • 目錄結構

    bin存放指令文件(Maven提供了一個mvn指令)

    boot包含了一個類加載框架的jar文件

    conf 包含了Maven的核心配置文件settings.xml

    lib 存放了maven運行所需的jar文件

2.1.3 配置環境變量配置
  • MAVEN_HOME 😄:\Maven\apache-maven-3.8.4

  • Path 增加 %MAVEN_HOME%bin

  • 在CMd中輸入mvn_Version 出現下圖結果證明配置成功

image

2.2 Maven的項目結構

使用Maven進行項目還有一個好處:無論使用什么樣的開發工具(eclipse/idea)項目的結構是統一的。

fmwy(項目名稱)

---src

​ ---main(存放項目的源文件)

​ ---java (存放java代碼,相當於傳統項目中的src目錄 )

​ ---resources (存放配置文件和靜態資源的目錄,相當於傳統項目的web目錄)

​ ---test (存放項目的單元測試代碼)

​ ---java(測試代碼)

---pom.xml

POM 指Project Object Model,Maven可以根據pom文件對此項目進行依賴管理;也就是說項目中需要依賴,直接在pom.xml進行配置即可。

在搜索引起中搜索mvn

image

image

image

image

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>
    <!--指定項目的標識:G企業標識 A 項目標識 V 版本-->
    <groupId>com.qfedu</groupId>
    <artifactId>fmwy</artifactId>
    <version>1.0.0</version>
    <!-- 如果需要在當前項目中添加依賴,只需在pom.xml文件中進行依賴配置即可
配置依賴 找到依賴的坐標,添加dependencies標簽中即可
-->
    <dependencies>
     

        
        
        
        
        
    </dependencies>
    
</project>

例如添加Mysql依賴

<dependencies>
    <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.47</version>
</dependency>
     </dependencies>
2.3 依賴管理
2.3.1 Maven依賴管理的流程

image

2.3.2 Maven倉庫介紹
  • 本地倉庫 就是本地計算機上的某個文件夾(可以是自定義的任何文件夾)

  • 遠程倉庫 就是遠程主機上的jar文件倉庫

    • 中央倉庫 maven官方提供的倉庫,包含了所需的一切依賴(免配置)

    • 公共倉庫 除了中央倉庫以外的第三倉庫都是公共倉庫,例如aliyun

    • 私服 企業搭建的供內部使用的maven倉庫。

      Maven倉庫
      image

|

2.3.3 Maven倉庫配置
  • 在maven_home/conf/settings.xml中進行配置

配置本地倉庫

image

配置公共倉庫 阿里雲

image

2.4 項目生命周期管理
2.4.1 生命周期介紹

項目構建的聲明周期:項目開發結束之后部屬到運行環境運行的過程。

  • 清除緩存
  • 檢查
  • 編譯
  • 測試(就會執行maven項目中test目錄下的單元測試)
  • 打包(war、jar)
  • 安裝(jar會被安裝到本地倉庫
  • 部屬/運行(將項目生成的包放到外部服務器中---私服)
2.4.2 生命周期管理指令

在項目的根目錄下執行mvn指令,(此目錄下必須包含pom.xml)

  • 清除緩存

    mvn clean
    
  • 檢查

    mvn check
    
  • 編譯

    mvn compile
    
  • 測試(就會執行maven項目中test目錄下的單元測試)

    mvn test
    
  • 打包(war、jar)

    mvn package
    
  • 安裝(jar會被安裝到本地倉庫)

    mvn install
    
  • 部屬/運行(將項目生成的包放到服務器中)

mvn deploye
2.6 基於IDEA的Maven使用
2.6.1 在IDEA中關聯Maven

| image
|
| -------------------------------------------------------- |
| image
|

說明:IDEA本身集成了Maven,考慮到IDEA和Maven版本的兼容性,idea不建議配置比默認版本更新的版本,建議使用idea自帶的Maven。

2.6.2 使用IDEA創建Maven項目

(1)Java項目

| image
|
| -------------------------------------------------------- |
|image
|
|image
|
| |

(2)Web項目

  • 創建maven項目,步驟和建立java項目一樣(再改造普通的Java項目為web項目)

  • 在POM.xml文件設置打包方式為war

    <?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>Demo01</artifactId>
        <version>1.0-SNAPSHOT</version>
        <!--設置項目打包方式為war-->
        <packaging>war</packaging>
        <properties>
            <maven.compiler.source>8</maven.compiler.source>
            <maven.compiler.target>8</maven.compiler.target>
        </properties>
    
    </project>
    
  • 完善項目結構

    image

  • 配置web組件(Tomcat)

image

image

image

  • 部屬web項目

    image

image

image

image

image

2.6.3 在IDEA中使用Maven進行依賴管理
  1. 查找依賴坐標:Maven Repository: Search/Browse/Explore (mvnrepository.com)
  2. 添加依賴 :將依賴的坐標配置到項目的Pom.xml文件 標簽中。
  3. 依賴范圍:在通過dependency添加依賴時,可以通過scope 標簽配置當前依賴的使用范圍。
    • test :只在項目測試階段引入當前依賴(編譯、測試)例如Junit
    • runtime:只在運行時使用(運行、測試運行)
    • provided: 在(編譯、測試、運行)
    • complie: 在(編譯、測試、運行、打包)都引入。
2.6.4 在IDEA中使用Maven進行項目構建
  • Maven項目構建生命周期說明

    • clean 清理緩存,清理項目生成的緩存
    • validate 校驗,驗證項目需要是正確的(項目信息、依賴)
    • compile 編譯,編譯項目專供的源代碼
    • test 測試 運行項目中的單元測試(把鼠標放在類上,按a/t+insert會自動選擇生成測試類)
    • package 打包 將項目編譯后的代碼打包成發布格式
    • verify 檢查 對集成測試的結果進行檢查、確保項目的質量是達標的
    • install 安裝 將包安裝到maven的本地倉庫,以便在本地的其他項目中可以引用此項目(聚合工程)
    • deploy 部屬 將包安裝到私服的倉庫,以供其他開發人員共享
  • IDEA進行生命周期管理

    • 可視化:

      image

    • 終端指令:選擇項目名稱---右鍵---Open in Terminal 在里面輸入對應的指令 例:mvn clean

2.7 私服

企業搭建供內部使用的一個Maven倉庫

  • 開發者需要依賴直接從私服下載
  • 私服可以實現企業內部依賴的共享:當企業開發了一個通用插件(jar),可以發布到私服,可以連接到當前私服的其他開發者就可以共享這個插件了。
2.7.1 私服搭建

我們可以通過專門的Maven倉庫管理軟件來搭建私服。例如:Apache Archiva、Nexus

  • 下載Nexus

image

  • 解壓Nexus

image

  • 進入到D:\Maven\nexus-2.14.8-01\bin目錄中
  • 管理員身份打開cmd命令行,執行指令

image

image

  • 私服中倉庫類型

image

image

2.7.2 配置私服
  • 在maven的settings.xml文件的servers標簽中

image

  • 在maven的settings.xml文件的profiles標簽中

image

  • 在maven的settings.xml文件的activeProfiles配置激活profile

image


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM