教小師妹快速入門Maven,嘿嘿嘿...

最近,小師妹給我發消息,說她在某個項目中看到了Maven,感受還挺小巧精緻的,頗有興趣深刻學習一下,問我有沒有什麼快速入門的教程~恰好本身也在整理Maven相關的材料,那就拿出來一塊兒交流一下吧。今天主要聊聊Maven的快速入門,不少人可能會以爲很簡單,但相信您認真看完的話仍是會有新收穫的。java

基本介紹

概念

Maven字面義和準確的發音:web

圖片

Maven是Apache下面的一個java開發的開源項目,官網地址:https://maven.apache.org/面試

官方介紹:spring

大體意思是:Maven是一個意第緒(Yiddish),意思是知識的積累者,最初是爲了簡化Jakarta Turbine項目的構建過程。有幾個項目,每一個項目都有本身的 Ant 構建文件,它們都略有不一樣。而JAR文件都由CVS來維護 。咱們須要一種標準的方法來構建項目,一個項目組成的清晰定義,一種發佈項目信息的簡單方法,以及一種跨多個項目共享jar的方法。apache

Maven的目標

Maven的主要目標是爲了使開發人員在最短的時間內領會項目的全部狀態。爲了達到這一目標,Maven考慮一下五個方面的內容:mvc

一、使得構建過程更加容易,方便編譯、打包、發佈app

二、爲每一個項目提供統一的配置框架

三、提供優質項目信息webapp

四、最佳開發實踐jsp

五、安裝和更新第三插件透明化

Maven項目的結構和內容是在一個XML文件中聲明,pom.xml的項目對象模型(POM),這是整個Maven系統的基本單元。

Maven的優勢

  • Maven中使用約定,約定java源代碼代碼必須放在哪一個目錄下,編譯好的java代碼又必須放到哪一個目錄下,這些目錄都有明確的約定。
  • Maven的每個動做都擁有一個生命週期,例如執行 mvn install 就能夠自動執行編譯,測試,打包等構建過程
  • 只須要定義一個pom.xml,而後把源碼放到默認的目錄,Maven幫咱們處理其餘事情
  • 使用Maven能夠進行項目高度自動化構建,依賴管理(這是使用Maven最大的好處),倉庫管理。

面試問:Maven是什麼

Maven(翻譯爲"專家","內行")是跨平臺的項目管理工具。主要服務於基於Java平臺的項目構建,依賴管理和項目信息管理。

項目構建過程

項目構建過程包括【清理項目】→【編譯項目】→【測試項目】→【生成測試報告】→【打包項目】→【部署項目】這幾個步驟,這六個步驟就是一個項目的完整構建過程。


理想的項目構建是高度自動化,跨平臺,可重用的組件,標準化的,使用maven就能夠幫咱們完成上述所說的項目構建過程。

安裝與配置

從官網下載:

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

最新版本是3.6.3。

圖片


Maven3.3+版本必須是是JDK1.7或者更高的版本。

圖片

解壓後(解壓後的目錄中最好「不要出現中文目錄」):

圖片

目錄說明

  • bin:含有mvn運行的腳本
  • boot:含有plexus-classworlds類加載器框架
  • conf:含有settings.xml配置文件
  • lib:含有Maven運行時所須要的java類庫
  • LICENSE.txt, NOTICE.txt, README.txt針對Maven版本,第三方軟件等簡要介紹

安裝

首先要確保電腦上已經安裝了JDK(要jdk 1.7或更高的版本),配置好JDK的環境變量,使用以下的兩個命令檢查檢查JDK安裝的狀況。

圖片

配置

JDK已經安裝好了,maven也已經解壓了到咱們制定的目錄下,好比說:個人解壓目錄爲:

D:\tool\maven\apache-maven-3.6.3

接下來就是配置環境變量(和安裝JDK有點像,可是配置Maven簡單點)。

第一步:設置環境變量:MAVEN_HOME。


肯定後:

圖片


第二步:設置環境變量Path,將;%MAVEN_HOME%\bin加入Path中,必定要注意要用分號;與其餘值隔開,以下圖所示:

圖片


第三步:驗證和配置是否成功,打開cmd窗口。有的電腦系統版本中看不到cmd窗口,須要在搜索裏搜索cmd。有的就是有個「運行」。

圖片


或者


輸入"mvn –v"命令 查看Maven的相關信息,以下圖所示:

輸出是上面的這個樣子,證實咱們的Maven安裝和相關配置都已經成功了。下面咱們就來玩一把Maven。

案例

Maven項目約定結構

大概的目錄以下:

圖片

約定配置說明:

目錄 目的
${basedir} 存放pom.xml和全部的子目錄
${basedir}/src/main/java 項目的java源代碼
${basedir}/src/main/resources 項目的資源,好比說property文件,springmvc.xml
${basedir}/src/test/java 項目的測試類,好比說Junit代碼
${basedir}/src/test/resources 測試用的資源
${basedir}/src/main/webapp/WEB-INF web應用文件目錄,web項目的信息,好比存放web.xml、本地圖片、jsp視圖頁面
${basedir}/target 打包輸出目錄
${basedir}/target/classes 編譯輸出目錄
${basedir}/target/test-classes 測試編譯輸出目錄
Test.java Maven只會自動運行符合該命名規則的測試類
~/.m2/repository Maven默認的本地倉庫目錄位置

接下來咱們就來搞一個案例。

案例

在本身的本地建立一個目錄(通常都是workspace)。而後建立一個maven-demo的案例。新建maven-demo文件夾:

圖片


在maven-demo文件夾裏建立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>com.tian</groupId>
    <artifactId>maven-demo</artifactId>
    <version>1.0-SNAPSHOT</version>
</project>

繼續建立文件夾src(存放源碼的文件夾)。

進入src目錄中,繼續建立main文件夾。

圖片

再到main文件夾裏建立一個java文件夾。

圖片

在java文件夾下建立一個HelloWorld.java

public class HelloWorld{
 public static void main(String [] args){
  System.out.println("老田 你好");
 }
}

圖片

回到maven-demo的目錄下,按住Shift鍵,鼠標右鍵,選擇打開命令窗口。

圖片

使用'「mvn compile」'命令:

圖片

編譯完成後,會在當前目錄下增長了一個target目錄。

圖片

打開target文件夾,能夠看到裏面有一個classes文件夾,以下圖所示:

圖片

classes文件夾存放的就是編譯成功後生成的.class文件,以下圖所示:

圖片

使用‘「mvn clean」’命令:

圖片

發現有一行日誌:

圖片

咱們使用mvn clean命令的時候,會把target文件夾刪掉。

圖片

修改倉庫

在前面的約定配置中有一項:

~/.m2/repository  

Maven默認的本地倉庫位置。

repository中存放了相關的jar包。由於代碼運行時一般須要依賴其餘的jar裏的東西,因此這個jar也得須要管理。關於倉庫後面有文章專門講解。

圖片

好比說:

圖片

全目錄爲:

C:\Users\Administrator\.m2\repository\junit\junit\3.8.1

發如今C盤,這裏強烈的建議,把這個倉庫放在本身指定的目錄,好比說:E:/repository下面。

如何修改呢?

找到咱們前面安裝maven目錄下:

D:\tool\maven\apache-maven-3.6.3

在conf目錄下的server.xml:

圖片

打開server.xml文件:

圖片

咱們添加一項

<localRepository>E:/repository</localRepository>

修改完後,保存。

圖片

後面只要咱們再次執行"mvn compile"和"mvn clean"這兩個命令時,Maven會去中央倉庫下載須要的jar包,而第二次執行這兩個命令時,因爲所需的jar包已經在本地的倉庫E:/repository中存儲,因此就能夠直接拿來用了,這樣就省去了去中央倉庫下載jar包的時間。

圖片

setting.xml主要用於配置maven的運行環境等一系列通用的屬性,是全局級別的配置文件;

以上即是今天分享的Maven入門課程。

總結

本文講述了什麼是Maven、Maven的優勢、安裝配置、簡單使用案例、mvn compile命令和mvn clean命令的使用以及修改本地倉庫。

學習不是爲了學到已經有的知識,而是爲了探索知識的空白領域!願每一個人都能享受學習~
相關文章
相關標籤/搜索