Maven 快速入門

maven快速入門

1、Maven 介紹

一、啥是 maven ?

    Maven是一個項目管理工具,它包含了這些邏輯:一個項目對象模型 (Project Object Model),一組標準集合,一個項目生命週期(Project Lifecycle),一個依賴管理系統(Dependency Management System),和用來運行定義在生命週期階段(phase)中插件(plugin)目標(goal)。當你使用Maven的時候,你用一個明肯定義的項目對象模型來描述你的項目,而後Maven能夠應用橫切的邏輯,這些邏輯來自一組共享的(或者自定義的)插件。
java

Maven規範化構建流程:Altweb

二、maven 能作啥?

    用 maven 對項目進行管理,能夠幫咱們構建工程,管理jar包,編譯代碼,減少工程佔用的空間,還能幫咱們自動運行單元測試,打包,生成報表,甚至部署項目等等apache

Maven依賴管理:Altwindows

2、Maven 的使用

一、maven 的下載安裝與目錄結構

a.下載:api

    Maven官網下載瀏覽器

Alt

b.安裝:緩存

    與普通軟件同樣,不要有特殊符號與空格tomcat

c.目錄結構:jsp

Alt

maven 的目錄結構:maven

bin:存放了 maven 的命令 
    boot:存放了一些 maven 自己的引導程序,如類加載器等
    conf:存放了 maven 的一些配置文件,如 setting.xml 文件
    lib:存放了 maven 自己運行所需的一些 jar 包
    至此咱們的 maven 軟件就可使用了,固然了前提是你的電腦上以前已經安裝並配置好了 JDK複製代碼

二、maven 環境變量的配置與檢查

a.配置MAVEN_HOME:

配置MAVEN_HOME,變量值就是你的 maven安裝的路徑(bin目錄以前一級目錄)

Alt

添加到Path路徑

Alt

b.檢查Maven是否配置成功:

    打開 cmd ,輸入 mvn -v 若出現 maven 的版本號,即安裝成功

三、maven 本地倉庫的配置

    maven 的工做須要從倉庫下載一些 jar 包,本地的項目都會經過 maven 軟件從遠程倉庫(能夠理解爲互聯網上的倉庫)下載 jar 包並存在本地倉庫,本地倉庫就是本地文件夾,當第二次須要此 jar 包時則再也不從遠程倉庫下載,由於本地倉庫已經有在了,能夠將本地倉庫理解爲緩存,有了本地倉庫就不用每次從遠程倉庫下載了。

    默認本地倉庫位置在{user.din}/.m2/repository,{user.dir}表示 windows用戶目錄

若須要修改本地倉庫位置,首先打開 conf 目錄下的 settings.xml 文件,再找到 標籤(大概在56行),而後把本身所配置的本地倉庫目錄填上去,如本人的本地倉庫:

D:apache-maven-3.5.2maven_repository

    配置完後,終於能夠開始使用 maven 了!!!

四、Maven 工程認識

1)maven 工程的目錄結構

Alt

Alt

2)maven 工程的運行

    進入一個 HelloWord 的 maven Web工程目錄(當前目錄有 pom. Xm文件),運行 mvn tomcat:run命令。而後根據提示打開瀏覽器輸入資源地址(如:localhost:8080/hello_maven/),便可出現運行結果: Hello World。

3)maven 經常使用命令

a.compile

mvn compile 是 maven 工程的編譯命令,做用是將sr/main/ava下的文件編譯爲 class 文件輸出到 target
    目錄下。複製代碼
b.test

mvn test 是 maven 工程的測試命令,會執行 src/test/java下的單元測試類複製代碼
c.clean

mvn clean 是 maven 工程的清理命令,執行 clean 會刪除 target目錄及內容複製代碼
d.package

mvn package是 maven 工程的打包命令,對於 java 工程執行 package 打成 jar 包,對於 web 工程打成 war 包
複製代碼
e.install

mvn install 是 maven 工程的安裝命令,執行 instal 將 maven 打成 jar 包或 war 包發佈到本地倉庫複製代碼

注:當後面的命令執行時,前面的操做過程也都會自動執行,

3、用 IDEA 開發 Maven 項目

一、maven 在 IDEA 中的配置

a.打開 → Fie → Settings 配置 maven

Alt

b.開始建立工程

    -> Create New Project

c.選擇 idea 提供好的 maven 的 web 工程模板

    普通 Java 工程能夠選擇骨架: maven-archetype-quickstart

Alt

d.填入項目信息

Alt

Alt

Alt

e.點擊 Finish,等待工程建立

    IDEA 第一次建立 maven 工程會下載許多依賴包,故時間會比較長

Alt

Alt

控制檯出現 BUILD SUCCESS 則說明成功

f.因爲目錄結構不完整,須要本身手動補齊

    手動添加 src/main/java 目錄,以下圖右鍵 man 文件夾 → New → Directory,2019 版 IDEA 的 新建 Maven 工程,增長了自動隱藏 Make Directory → Sources Root 的步驟,會有提示 java 做爲自由根目錄

Alt

Alt

二、建立一個 Servlet

a.建立 Servlet

src/main/java 建立了一個 Servlet,但報錯

Alt

解決方案,就是要將 servlet-api-xxx.jar 包放進來,做爲 maven 工程應當添加 servlet 的座標,從而導入它的 jar

b.在 pom.xml 文件中添加 servlet 的座標

Alt

<dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>servlet-api</artifactId>
      <version>3.0-alpha-1</version>
    </dependency>複製代碼

座標定義以下:

com.actadd

HelloWorld_Maven

1.0-SNAPSHOT

war

座標來源:

添加依賴須要指定依賴 jar 包的座標,可是不少狀況咱們是不知道 jar 包的的座標,能夠經過以下兩個網址查詢:

http://search.mavenorg/http://mvnrepository.com

c.依賴範圍

A依賴B,須要在A的 pomum文件中添加B的座標,添加座標時須要指定依賴範圍,依賴範圍包括:

compile:編譯範圍,指 A 在編譯時依賴 B ,此範圍爲默認依賴範圍。編譯範圍的依賴會用在編譯、測試、運行,因爲運行時須要因此編譯範圍的依賴會被打包。

provided: provided 依賴只有在當 JDk 或者一個容器己提供該依賴以後才使用, provided 依賴在編譯和測試時須要,在運行時不須要,好比: servlet api 被 tomcat 容器提供。

runtime: runtime依賴在運行和測試系統的時候須要,但在編譯的時候不須要。好比:jdbc的驅動包。因爲運行時須要因此 runtime 範圍的依賴會被打包

test:test範圍依賴在編譯和運行時都不須要,它們只有在測試編譯和測試運行階段可用好比:junt 因爲運行時不須要因此 test 範圍依賴不會被打包。

system: system 範圍依賴與 provided相似,可是你必須顯式的提供一個對於本地系統中JAR文件的路徑,須要指定 systemPath 磁盤路徑, system 依賴不推薦使用。

<scope> 依賴範圍 </scope>複製代碼
默認引入的 jar 包 -- compile【默認範圍能夠不寫】(編譯、測試、運行都有效)
    servlet-api、jsp-api -- provided(編譯、測試有效,運行時無效防止和 tomcat 下 jar 衝突)
    jdbc 驅動 jar 包 -- runtime(測試、運行有效)
    junit --- test(測試有效)
    依賴範圍由強到弱的順序是: compile > provided > runtime > test複製代碼

在項目中添加依賴範圍:

Alt

d、設置 jdk 編譯的版本爲本身安裝的版本

Alt

e、繼續編寫 Servlet

package com.actadd.servlet;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

/**
 * @ClassName ServletDemo
 * @Description 在 maven 工程中建立一個 ServletDemo
 * @Author Actadd
 * @Date 21:18 2019/12/15
 * @Version 1.0
 */
public class ServletDemo extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        this.doPost(req, resp);
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

        //跳到 hello.jsp 資源
        req.getRequestDispatcher("/hello.jsp").forward(req, resp);
    }
}
複製代碼

三、編寫 jsp

a.編寫 hello.jsp

Alt

b.記得在 web.xml 中配置 servlet 的訪問路徑

Alt

c.添加 tomcat 插件

pom.xml 中添加 tomcat 插件

Alt

接下來在運行按鈕添加 tomcat 運行配置:

Alt

Alt

添加 tomcat

Alt

右鍵運行

Alt

四、運行結果

Alt

相關文章
相關標籤/搜索