一、Maven簡單介紹
Apache Maven是個項目管理和自動構建工具,基於項目對象模型(POM)的概念。
作用:完成項目的相關操作,如:編譯,構建,單元測試,安裝,網站生成和基於Maven部署項目。
1、什麼是自動構建工具?
1.1 *.java->*.class->run
方式一
javac HelloWorld.java
java HelloWorld
方式二
開發工具eclipse
1.2 如何創建一個struts2的WEB項目(全手動添加相關jar包,還要設置構建路徑)
2、常用的自動構建工具
ant
maven
Gradle android項目管理和構建已使用
二、Maven安裝與配置
1、下載
在官網中下載maven包,解壓後即可使用
2、配置maven環境變量
鼠標右鍵點擊我的電腦 —> 點擊屬性 —> 選擇高級系統設置 —> 環境變量 —> 在系統環境變量中配置
MAVEN_HOME、M2_HOME 和 Path:
環境變量MAVEN_HOME和M2_HOME的值爲maven的根目錄,然後在Path環境變量里加入“%MAVEN_HOME%\bin;%M2_HOME%\bin;”即可
驗證是否配置成功:
在doc窗口中執行命令“mvn –version” ,當出現如下版本信息時,表示環境變量配置成功了。
溫馨提示:驗證maven是否配置成功有一個前提,你電腦上配置了jdk的環境變量。
三、將maven集成到eclipse中
1、配置本地倉庫
修改“MAVEN_HOME\conf”下的setting.xml文件,指定一個路徑爲你的本地倉庫路徑:
溫馨提示:驗證maven是否配置成功有一個前提,你電腦上配置了jdk的環境變量。
三、將maven集成到eclipse中
1、配置本地倉庫
修改“MAVEN_HOME\conf”下的setting.xml文件,指定一個路徑爲你的本地倉庫路徑:
找到如下代碼的位置,
2、maven插件安裝與配置
注:eclipse4.0以上已經安裝好了,無需額外配置
1. 設置maven安裝路徑、指定setting.xml文件
每配置完一步,記得點 ‘Apply’ 應用
四、Maven的使用
1、創建web項目(ctrl+N)
然後點擊完成,由於我們的本地倉庫是空的,eclipse會下載一些插件到本地倉庫中,所以第一次新建項目會很慢。
這裏需要注意,下載插件的過程中不要關閉eclipse(eclipse右下角會顯示插件下載的進程),否則會爲以後帶來不必要的錯誤。
插件下載完後項目是這樣的:
在Markers窗口中可以看到maven的錯誤信息:
maven 是不會默認集成web容器的,要使用tomcat的話,需要在maven中導依賴。
所有的jar包都在pom.xml中添加:
在導依賴之前,是需要進行一些配置的,將下面畫紅線的部分copy到pom.xml中
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.7.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
修改web.xml文件:
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
<display-name>Archetype Created Web Application</display-name>
</web-app>
前後對比
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<!-- 這裏有兩個3.1,由於我們之前配置的是1.8的jdk,所以這裏配置3.1, 1.8對應3.1 , 1.7對應3.0 -->
<display-name>Archetype Created Web Application</display-name>
</web-app>
改好之後還沒完,
鼠標右鍵點擊之前新建的maven項目,然後點擊 Properties,選擇Project Faces:
這裏需要改兩個地方:一個是java的jdk版本、一個是web的版本,改成之前配置的。 (1.8對3.1 , 1.7對3.0)
·首先改jdk:
然後改web(這裏注意,直接改是會報錯的,):
把web前面的勾去掉,將版本改爲3.1,然後點 Apply
點擊提示後會彈出下面這個頁面:
改好後點ok會回到上一個頁面,點Apply and Close,然後右鍵項目,更新一下就行了。
至此配置完成!
配置好之後,會發現項目還是報錯,
servlet的jar包依舊沒有,現在就可以去pom.xml中導依賴了:
1、去中央倉庫找jar包: https://mvnrepository.com/
搜索servlet:
將上面劃紅線的代碼複製下來, 粘貼至pom.xml中,按鈕ctrl+s保存會自動下載我們導的依賴:
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.csdn</groupId>
<artifactId>maven_test</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>maven_test Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<finalName>maven_test</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.7.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</build>
</project>
下載完後會發現項目沒報錯了:
五、號外
1、maven的層級結構
src/main/java 目錄放java文件
src/main/resources 目錄放配置文件(如struts2的配置文件)
src/test/java 目錄放測試文件
2、私服的配置
這裏配置的爲阿里雲的私服, 將阿里雲的鏡像copy進去就行了
<mirror>
<id>alimaven</id>
<mirrorOf>central</mirrorOf>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</mirror>
驗證是否配置成功,在maven項目中導jar包的依賴,如果該jar包下載成功,則配置成功