maven介紹
javaWeb中,遇到的一個煩惱,每次都要導jar包,忘記了就會很麻煩,隨着項目會變大,jar包管理變的及其麻煩,所以Maven應運而生,Maven並不是最早的管理項目的工具。
核心思想:約定大於配置
Maven會給你規定好怎麼去書寫java代碼。必須按照這個規範來。
maven的安裝及配置
下載安裝Maven
和Tomcat一樣,Maven也屬於apache;
maven官網:http://maven.apache.org/
下完完畢後會得到一個壓縮包。
我們需要解壓到一個自己電腦上存放環境的地方‘;
配置環境變量
打開此電腦----屬性-----高級系統設置------環境變量--------系統變量-----------新建(設置自己安裝路徑)
找到path設置到安裝的bin目錄下:
測試是否配置成功:
打開搜索框輸入:cmd然後輸入:mvn -version回車
可以看到設置成功了
修改配置文件
這裏有兩個地方需要配置:
- 阿里雲鏡像
- 倉庫路徑
首先配置阿里雲鏡像:配置目的是爲了更快的讓maven下載jar包;
配置xml:
<mirror>
<id>alimaven</id>
<mirrorOf>central</mirrorOf>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</mirror>
將這一段複製到以下位置:
接下來配置默認倉庫位置:
我們需要新建一個本地倉庫的位置,不建議使用默認的,因爲在c盤。
我這裏在maven的安裝目錄下建立了一個repository的文件夾
然後再配置文件中修改本地倉庫的路徑
到這一步爲止:
Maven就徹底安裝好了
疑問:爲什麼要配置鏡像;
回答:因爲Maven默認節點在國外,國內有牆,下載jar包會比較慢,也有可能失敗,所有建議配置一個國內的鏡像,推薦使用阿里雲鏡像;
IDEA中使用maven注意事項
有些文件夾有的不會自動生成,我們需要手動創建,但是呢,手動創建的文件夾沒有權限寫java代碼或者存放資源,我們需要手動進行標記。怎麼配置呢?
對於相應的文件夾我們設置成相應的文件格式就可以了;
疑問:target是什麼?
回答:輸出目錄文件,對應我們項目中的out文件夾。
idea中配置maven
maven設置地址
對於本項目:
對於默認項目我們也可以設置:
項目結構測試位置
利用Maven管理jar包
無論要使用什麼jar包,都需要去pom.xml中配置;
在dependencies下面配置項目的jar包。
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
</dependencies>
如何找到這些jar包所在的位置呢?
推薦去Maven中央遠程倉庫中下載:地址:https://mvnrepository.com/
本質分析:
Maven會根據配置文件去對應鏡像站點下載相應的jar包;
在通過配置文件去本地讀取jar包。
手動創建一個Maven項目
隨便建立一個空文件夾代表我們的項目,使用IDEA打開
配置環境
輸出目錄,文件標記,jdk等。。。
檢查一下Maven路徑
編寫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.kuang</groupId>
<artifactId>MavenSelf</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
</project>
然後讓idea識別
我們現在來導入依賴,即jar包
通過<dependencies></dependencies>標籤
創建Maven項目成功!
常見問題
假如你的項目在IDEA中可以運行成功,但是無法發佈運行,可以就是沒有配置資源過濾
我們需要手動配置這個
<!--用來存放一些和項目構建相關的東西-->
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<excludes>
<exclude>**/*.properties</exclude>
<exclude>**/*.xml</exclude>
</excludes>
<filtering>false</filtering>
</resource>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
</build>