Maven使用方法詳及方式詳細介紹

Maven簡介

1、軟件開發中的階段

需要分析:分析項目具體完成的功能,有什麼要求,具體怎麼實現。設計階段:根據分析的結果,設計項目的使用什麼技術,解決難點。開發階段:編碼實現功能,編譯代碼,自我測試。測試階段:專業的測試人員,測整個項目的功能十分符合設計要求。出一個測試告。項目的打包,發佈階段:給用戶安裝項目。

2、Maven能做什麼

1)項目的自動構建,幫助開發人員做項目代碼的編譯,測試,打包,安裝,部署等工作。

2)管理依賴(管理項目中使用的各種jar包)。

依賴:項目中需要使用的其他資源,常見的是jar比如項目要使用mysgl驅動,我們就說項目依賴mysgl驅動。

3、沒有使用maven怎麼管理依賴

管理jar,需要從網絡中單獨下載某個jar,需要選擇正確版本,手工處理jar文件之間的依賴。a.jar裡面要使用b.jar的類。

4、什麼是maven

maven是apache基金會的開源項目,使用java語法開發。Maven這個單詞的本意是:專傢,內行。讀音是['meIv(e)n]或['mevn]。

maven是項目的自動化構建工具,管理項目的依賴。

約定目錄結構

maven項目使用的大多人遵循的目錄結構,叫做約定目錄結構。一個maven項目是一個文件夾。

比如項目叫做Hello

maven的使用方式

①maven可以獨立使用:創建項目,編譯代碼,測試程序,打包,部署等等。

② maven和idea一起使用:通過idea借助maven,實現編碼,測試,打包等等。

POM文件

POM:Project Object Model項目對象模型,maven把項目當做模型處理。操作這個模型就是操作項目。maven通過pom.xml文件實現項目的構建和依賴的管理。

pom 文件:即 Project Object Model項目對象模型。 Maven把一個項目的結構和內 容抽象成一個模型,在xml文件中進行聲明,以方便進行構建和描述,

pom.xml是Maven的靈魂。所以,maven環境搭建好之後,所有的學習和操

作都是關於pom.xml的。

那麼我們來看一下pom.xml文件是什麼樣的

<?xml version="1.0" encoding="UTF-8"?>
        <!--project是跟標簽,後面是約束文件-->
<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">
  <!--pom模型的版本,就是4.0.0-->
  <modelVersion>4.0.0</modelVersion>
  <!--坐標-->
  <groupId>youfei1_v</groupId>
  <artifactId>ch01-Maven-j2se</artifactId>
  <version>1.0</version>
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
  </properties>
</project>

坐標的概念

坐標組成是groupid,artifiactld,version。坐標概念來自數學。

坐標作用:確定資源的,是資源的唯一標識。在maven中,每個資源都有坐標。坐標值是唯一的。簡稱叫gav。

拿servlet依賴舉例

		<!--servlet依賴-->
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <version>3.1.0</version> 

groupid:組織名稱,代碼。公司,團體或者單位的標識。這個值常使用的公司域名的倒寫。例如:學校的網站www.sanlian.com,groupId:com.sanlian

如果項目規模比較大,也可以是域名倒寫+大項目名稱。

例如:www.baidu.com , 無人車:com.baidu.appollo

artifactid:項目名稱,如果groupId中有項目,此時當前的值就是子項目名。項目名稱是唯一的。

version:版本,項目的版本號,使用的數字。三位組成。例如主版本號,次版本號小版本號,例如:5.2.5。

註意:版本號中有-SNAPSHOT,表示快照,不是穩定的版本。

項目使用gav:

1.每個maven項目,都需要有一個自己的gav。

2.管理依賴,需要使用其他的jar,也需要使用gav作為標識。

依賴 dependency

依賴:項目中要使用的其他資源(jar)。

需要使用maven表示依賴,管理依賴。通過使用dependency和gav一起完成依賴的使用。

註意:需要在pom.xml文件中,使用dependencies和dependency,還有gav完成依賴的說明。

使用依賴的格式:這裡拿junit依賴舉例,標簽中的指的是項目的公司,標簽中指的是項目名稱,標簽中指的是項目的版本。

  <dependencies>
    <!--測試-->
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
    </dependency>
  </dependencies>

註意:標簽要放到標簽的下面

打包類型

標簽:項目打包的類型,有jar,war,ear,pom等等,默認是jar。

註意:標簽的放置位置是這個項目的坐標下面

例如:

<!--坐標-->
  <groupId>youfei1_v</groupId>
  <artifactId>ch01-Maven-j2se</artifactId>
  <version>1.0</version>
  <packaging>jar</packaging>

倉庫概念

倉庫是存東西的,maven的倉庫存放的是:

1.maven工具自己的jar包。

2.第三方的其他jar,比如項目中要使用mysql驅動。

3.自己寫的程序,可以打包為jar存放到倉庫。

修改本地倉庫位置

本地倉庫(本機倉庫):位於你自己的計算機,它是磁盤中的某個目錄

本地倉庫:默認路徑,是你登錄操作系統的賬號的目錄中/.m2/repository

C:\Users\NING MEI.m2\repository

修改本地倉庫的位置:修改maven工具的配置文件(maven的安裝路徑\conf\setting.xml)步驟:

1)創建一個目錄,作為倉庫使用。目錄不要有中文和空格。目錄不要太深。

例如:D:\oppo

2)修改setting.xml文件,指定到剛剛創建的目錄,例如:D:\oppo

實例演示:找到maven安裝目錄下的conf目錄中的settings.xml文件,

在這個文件裡面增加這個標簽,裡面指定新的倉庫地址

倉庫的工作方式

倉庫的分類

本地倉庫, 就是你的個人計算機上的文件夾,存放各種jar。

遠程倉庫,在互聯網上的,使用網絡才能使用的倉庫。

①:中央倉庫,最權威的,所有的開發人員都共享使用的一個集中的倉庫,

②:中央倉庫的鏡像:就是中央倉庫的備份,在各大洲,重要的城市都有鏡像。

③:在公司內部,在局域網中使用的,不是對外使用的。

倉庫的使用,maven倉庫的使用不需要人為參與。

如果倉庫中有這個jar包就會用,沒有就會去互聯網上下載,從網絡下載的資源,最終會存到本地倉庫一份, 當你下次在用的時候,直接從本地倉庫首先獲取資源。

例如開發人員需要使用mysql驅動,maven首先查本地倉庫—>私 服—>鏡像—>中央倉庫。

配置文件說明

例如:spring依賴和spring-aspects依賴,這些東西表示我們項目中要用到spring和spring-aspects jar包,由maven在倉庫中找到這個jar包並使用它。

<!--spring依賴-->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>5.2.5.RELEASE</version>
    </dependency>
    <!--spring-aspects依賴-->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-aspects</artifactId>
      <version>5.2.5.RELEASE</version>
    </dependency>

註意:執行命令要在項目的pom文件所在的位置執行命名。

junit單元測試

單元測試(junit):

junit是一個單元測試的工具,在java中經常使用。

單元:在java中指的是方法。 一個方法就是一個單元,方法是測試的最小單位。

作用:使用junit去測試方法是否完成瞭要求。開發人員自測。

使用單元測試

  <dependencies>
    <!--測試-->
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
    </dependency>
  </dependencies>

在src/test/java目錄中創建測試類文件。寫測試代碼,單元測試使用的建議:

1.測試類的定義,名稱一般是Test+要測試的類名稱

2.測試類它的包名和要測試的類包名一樣。

3.在類中定義方法,要測試代碼。

方法的定義:public方法, 沒有返回值

方法名稱自定義(建議Test+測試的方法名稱)

方法沒有參數

4在測試類中的方法,可以單獨執行。測試類也可以單獨執行

5.在方法的上面加入@Test

生命周期與插件和命令

maven的生命周期:項目構建的各個階段。包括清理,編譯,測試,報告,打包,安裝,部署。

插件:要完成構建項目的各個階段,要使用maven的命令,執行命令的功能是通過插件完成的。插件就是jar,一些類。

命令:執行maven功能是由命令發出的。比如mvn compile

命令:

① mvn clean:清理命令,作用刪除以前生成的數據,刪除target目錄。

插件:maven-clean-plugin,版本是2.5。

②mvn compile:編譯命令,執行的代碼編譯,把src/main/java目錄中的java代碼編譯為class文件,同時把class文件拷貝到target/classes目錄。這個目錄classes是存放類文件的根目錄(也叫做類路徑, classpath)

插件:maven-compiler-plugin版本3.1編譯代碼的插件

maven-resources-plugin版本2.6資源插件,處理文件的。作用是把src/main/resources目錄中的文件拷貝target/classes目錄中。

③mvn test-compile:編譯命令,編譯src/test/java目錄中的源文件,把生成的class拷貝到target/test-classes目錄。同時把src/test/resources目錄中的文件拷貝到test-clasess目錄

插件:maven-compiler-plugin版本31編譯代碼的插件

maven-resources-plugin版本2.6資源插件,處理文件的

④mvn test:測試命令,作用執行test-classes目錄的程序,測試src/main/java目錄中的主程序代碼是否符合要求。

插件:maven-surefire-plugin版本2.12.4

⑤mvn package:打包,作用是把項目中的資源class文件和配置文件都放到一個床縮文件中,默認壓縮文件是jar

類型的。web應用是war類型,擴展是jar,war的。

插件:maven-jar-plugin版本2.4執行打包處理。生成一個jar擴展的文件,放在target目錄下,I

打包的文件包含的是src/main目錄中的所有的生成的class和配置文件和test無關。

⑥mvn install:把生成的打包的文件,安裝到maven倉庫。

插件:maven-install-plugin版本2.4把生成的jar文件安裝到本地倉庫。

註意:每執行一個命令,都會自動先執行前面的, 例如:執行第二個編譯命令,它首先會自動執行清理命令,執行第三個編譯test命令,它首先會自動執行第一個清理命令和第二個編譯命令。

自定義配置插件

在pom.xml文件中,build標簽中,設置插件。

例如設置構建項目相關內容

<build>
<plugins>
<!--設置插件-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>1.8</source> <!--指定編譯代碼的jdk版本-->
<target>1.8</target> <!--運行java程序使用的jdk版本-->
</configuration>
</plugin>
</plugin>
</plugin>

註意:默認使用1.7版本的jdk 通過此方式 可以更改;build標簽和project標簽平級。

到此這篇關於Maven使用方法詳及方式詳細介紹的文章就介紹到這瞭,更多相關Maven使用方法內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: