MAVEN 傻瓜式快速教程

MAVEN 快速教程

一.MAVEN概念和安裝

​ Maven 是專門用於構建和管理Java相關項目的工具,Maven是意第緒語,依地語(猶太人使用的國際語),表示專家的意思。 所以用Maven管理Java 項目,你就是專家了 -_-!

Maven 主要用處一:相同的項目結構

使用Maven管理的Java 項目都有着相同的項目結構

  1. 有一個pom.xml 用於維護當前項目都用了哪些jar包
  2. 所有的java代碼都放在 src/main/java 下面
  3. 所有的測試代碼都放在src/test/java 下面

Maven主要用處二:統一維護jar包

比如說有3個Java 項目,這些項目都不是maven風格。那麼這3個項目,就會各自維護一套jar包。 而其中有些jar包是相同的。

而maven風格的項目,首先把所有的jar包都放在"倉庫“ 裏,然後哪個項目需要用到這個jar包,只需要給出jar包的名稱和版本號就行了。 這樣jar包就實現了共享

如圖所示,在pom.xml裏,表示用到了mysql 的jar包,版本號是5.1.30。

需要先配置好JAVA_HOME環境變量;%JAVA_HOME%\bin

下載maven,配置環境變量

我的電腦,右鍵–》高級系統設置–》高級–》環境變量:

path–》編輯–》新增,寫上maven的路徑;

D:\apache-maven-3.6.3\bin

命令:mvn -v,可以看到版本號。

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-rfaIXLMb-1591434544839)(E:\政通路\課堂筆記\S2\assets\image-20200527153714918.png)]

核心:依賴管理和一鍵構建

二. 倉庫概念

所謂的倉庫就是用於存放項目需要的jar包的。
maven採用一個倉庫,多個項目的方式,讓多個項目共享一個倉庫裏的相同jar包。

jar包的管理,從哪裏來,這是一個問題???有人說,拷貝過來,拷貝來,拷貝去,問題,中毒。版本不一致,開發者使用jar包版本不一致的問題。

2.1中央倉庫

​ 遠程存儲jar包的倉庫,是一個大的集中式倉庫,maven

下載jar包—》從哪裏下載–》maven中央倉庫。maven 會默認從maven官方提供的服務器下載jar包。

倉庫默認位置的配置文件:

D:\software\apache-maven-3.6.3\conf\settings.xml

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-vDGXPE0N-1591434544840)(E:\政通路\課堂筆記\S2\assets\image-20200527154651485.png)]

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-UNJX6InM-1591434544845)(E:\政通路\課堂筆記\S2\assets\image-20200605144739906.png)]

使用阿里雲下載jar包
而官方服務器在國外,因爲大家都知道的原因,網速很慢,而且容易卡斷。 爲了便於快速下載相關jar包,可以使用國內maven 阿里雲的下載地址:

打開:

D:\software\apache-maven-3.5.0\conf\settings.xml

在mirrors下新加一個阿里雲的鏡像地址:

<mirror>
            <id>alimaven</id>
            <mirrorOf>central</mirrorOf>
            <name>aliyun maven</name>
            <url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
</mirror>

2.2 本地倉庫

我們開發的時候,將遠程中央倉庫的jar包下載到本地倉庫,項目讀取本地倉庫的jar。

setting文件修改倉庫位置:

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-70Rkw8fI-1591434544849)(E:\政通路\課堂筆記\S2\assets\image-20200528093721253.png)]

2.3 私服倉庫

​ 公司裏面,自己搭建的類似中央倉庫的倉庫,供本公司開發者使用的集中式倉庫。

三.MAVEN原理

​ Maven的基本原理很簡單,採用遠程倉庫和本地倉庫以及一個pom.xml,將pom.xml中定義的jar文件從遠程倉庫下載到本地倉庫,各個應用使用同一個本地倉庫的jar,同一個版本的jar只需下載一次,而且避免每個應用都去拷貝jar。如圖1同時它採用了現在流行的插件體系架構,只保留最小的核心,其餘功能都通過插件的形式提供,所以maven下載很小,在執行maven任務時,纔會自動下載需要的插件。

POM是項目對象模型(Project Object Model)

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-qsc2B4qr-1591434544851)(E:\政通路\課堂筆記\S2\assets\wps1.jpg)]

Maven有一個官方的倉庫,是一個微內核,通過網絡將需要的文件下載到本地,通過官方倉庫將相應的類庫進行統一管理。

基本屬性:

groupId:項目或者組織的唯一標誌,並且配置時生成路徑也是由此生成,如org.myproject.mojo生成的相對路徑爲:/org/myproject/mojo

artifactId:項目的通用名稱

version:項目的版本

packaging:打包機制,如pom,jar,maven-plugin,ejb,war,ear,rar,par

name:用戶描述項目的名稱,無關緊要的東西,可選

url:寫明開發團隊的網站,無關緊要,可選

其中groupId,artifactId,version,packaging這四項組成了項目的唯一座標。一般情況下,前面三項就可以組成項目的唯一座標了。

properties:聲明一些常量。如:<file.encoding>UTF-8<file.encoding>引用時 ${file.encoding}

plugin:聲明項目中所使用的插件,如熱部署時,需要的tomcat插件(放build裏面):

<plugins>
				<plugin>
					<artifactId>maven-war-plugin</artifactId>
				</plugin>
				<plugin>
					<artifactId>maven-compiler-plugin</artifactId>
				<configuration>
<!-- 源代碼使用的開發版本 -->
					<source>1.7</source>
<!-- 需要生成的目標class文件的編譯版本 -->
					<target>1.7</target>
				</configuration>
				</plugin>
				<plugin>
					<groupId>org.apache.tomcat.maven</groupId>
					<artifactId>tomcat7-maven-plugin</artifactId>
					<version>2.2</version>
					<configuration>
					<url>http://localhost:8080/manager/text</url>
					<path>/ccc</path>
					<server>tomcat</server>
					<username>tomcat</username>
					<password>tomcat</password>
				</configuration>
			</plugin>
		</plugins>

*依賴關係:(*依賴關係是POM的重要部分*)*

​ junit

​ junit

​ 3.8.1

​ test

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-Qj1Sy6NK-1591434544854)(E:\政通路\課堂筆記\S2\assets\wps2.jpg)]

scope : 依賴範圍,默認compile還有test,provided,runtime,system compile(編譯範圍)、provided(已提供範圍)、runtime(運行時範圍)、test(測試範圍)、system(系統範圍)。

如何新建一個maven項目

1.配置maven

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-atyEAfJr-1591434544857)(E:\政通路\課堂筆記\S2\assets\image-20200605145434829.png)]

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-xS3Gny2d-1591434544858)(E:\政通路\課堂筆記\S2\assets\image-20200605145443266.png)]

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-JLcewfIm-1591434544861)(E:\政通路\課堂筆記\S2\assets\image-20200605145616471.png)]

2.創建新項目

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-JkODoWPp-1591434544864)(E:\政通路\課堂筆記\S2\assets\image-20200605145705501.png)]

3.創建maven項目

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-x14rXdst-1591434544867)(E:\政通路\課堂筆記\S2\assets\image-20200605145917600.png)]

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-KoYOz94m-1591434544869)(E:\政通路\課堂筆記\S2\assets\image-20200605150027480.png)]

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-gL5u354Y-1591434544873)(E:\政通路\課堂筆記\S2\assets\image-20200605150100711.png)]

4.maven項目結構

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-fNbnLj2B-1591434544874)(E:\政通路\課堂筆記\S2\assets\image-20200605150329661.png)]加

5.jar依賴

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-yzBL1hAK-1591434544880)(E:\政通路\課堂筆記\S2\assets\image-20200605150636816.png)]

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-TTMPPCgs-1591434544885)(E:\政通路\課堂筆記\S2\assets\image-20200605150732318.png)]

查看jar包位置:

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-SG23xp0W-1591434544887)(E:\政通路\課堂筆記\S2\assets\image-20200605161131487.png)]

6.測試

在test–>java下新建TestMysql類

public class TestMysql {
    public static void main(String[] args) {
        //jdbc:加載驅動;
        try {
            Class.forName("com.mysql.jdbc.Driver");
           
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
    }
}

tring[] args) {
//jdbc:加載驅動;
try {
Class.forName(“com.mysql.jdbc.Driver”);

    } catch (ClassNotFoundException e) {
        e.printStackTrace();
    }
}

}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章