MAVEN 傻瓜式快速教程
MAVEN 快速教程
一.MAVEN概念和安裝
? Maven 是專門用于構建和管理Java相關項目的工具,Maven是意第緒語,依地語(猶太人使用的國際語),表示專家的意思。 所以用Maven管理Java 項目,你就是專家了 -_-!
Maven 主要用處一:相同的項目結構
使用Maven管理的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”);
}
總結
以上是生活随笔為你收集整理的MAVEN 傻瓜式快速教程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 框架前奏二
- 下一篇: 一.Spring框架基础