maven入門知識
一. maven簡介
Apache Maven,是一個軟件(特別是Java軟件)項目管理及自動構建工
具,由Apache軟件基金會所提供。基于項目對象模型(縮寫:POM)概念,
Maven利用一個中央信息片斷能管理一個項目的構建、報告和文檔等步驟。
Maven也可被用于構建和管理各種項目,例如C#,Ruby,Scala和其他語
言編寫的項目。Maven曾是Jakarta項目的子項目,現為由Apache軟件基
金會主持的獨立Apache項目。---摘自維基百科.
Maven項目使用項目對象模型(Project Object Model,POM)來配置。
項目對象模型存儲在名為 pom.xml 的文件中。
以下是一個簡單的示例:
<project>
<!-- model version is always 4.0.0 for Maven 2.x POMs -->
<modelVersion>4.0.0</modelVersion>
<!-- project coordinates, i.e. a group of values which
uniquely identify this project -->
<groupId>com.mycompany.app</groupId>
<artifactId>my-app</artifactId>
<version>1.0</version>
<!-- library dependencies -->
<dependencies>
<dependency>
<!-- coordinates of the required library -->
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<!-- this dependency is only used for running and compiling tests -->
<scope>test</scope>
</dependency>
</dependencies>
</project>
二.maven主要解決開發過程的兩個問題:
- 項目文件jar包比較多,項目大小太大,使用maven構建項目,把依賴包分離,大大減小項目的大小.
- jar包相互之間的依賴關系,版本沖突問題.maven會自動處理相互之間的依賴,減少了手動添加的繁雜.只需要在pom.xml文件添加需要的依賴即可.maven的依賴管理,就是管理jar包的一個過程.
三.maven的安裝
1.http://maven.apache.org/download.cgi官網下載最新版本
mac選擇下載: apache-maven-3.5.0-bin.zip
2. 解壓到本地,我的解壓路徑:/Users/xiaoq/Documents/maven
3. 在終端輸入命令:vim ~/.bash_profile,在里面的文件插入:
export M2_HOME=/Users/xiaoq/Documents/maven/apache-maven-3.5.0
export PATH=$PATH:$M2_HOME/bin
進行保存退出esc->:wq
終端運行:source ~/.bash_profile
在運行:mvn -v
如果沒有報錯,表示maven配置成功
01maven位置.png
02maven配置.png
四.本地倉庫配置和鏡像代理配置
1.創建repository文件夾(我的配置位置:/Users/xiaoq/Documents/work/repository)
2. 找到maven解壓文件下的conf文件下的settings.xml文件,打開進行編輯
4.1 配置本地倉庫
<localRepository>/Users/xiaoq/Documents/work/repository</localRepository>
4.2 配置鏡像(下載速度回很快,不然訪問外網速度很慢,卡死),
mirros節點下添加
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
<mirror>
<id>uk</id>
<mirrorOf>central</mirrorOf>
<name>Human Readable Name for this Mirror.</name>
<url>http://uk.maven.org/maven2/</url>
</mirror>
<mirror>
<id>CN</id>
<name>OSChina Central</name>
<url>http://maven.oschina.net/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
<mirror>
<id>nexus</id>
<name>internal nexus repository</name>
<!-- <url>http://192.168.1.100:8081/nexus/content/groups/public/</url>-->
<url>http://repo.maven.apache.org/maven2</url>
<mirrorOf>central</mirrorOf>
</mirror>
4.3 配置默認SDK版本,默認jse1.5,在profiles節點下添加:
<profile>
<id>jdk-1.8</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>
基本配置完成
五.maven目錄結構規范
project-name
|---src
|---main
|---java
|---resources
|---webapp
|test
|---java
|---resources
03maven目錄規范.png
六. maven常用的命令
maven
compile: 編譯命令,作用是將src/main/java下的文件編譯為class文件并且輸出到target目錄下.
test: 測試命令,會執行src/test/java下的單元測試類
clean: 清除命令,刪除target目錄的內容
package: 打包命令,對于Java工程執行package命令會打成jar包,對于web工程打成war包
install: 安裝命令,會把maven打成的jar包或者war包發布到本地倉庫
運行命令可以發現,當執行命令的時候,前面的操作也會自動執行,比如執行test命令,會自動執行clean和compile命令.
clean->compile->test->package->install
七, maven和eclipse結合使用
高版本eclipse自帶maven插件,只需要配置即可使用
7.1 eclipse配置maven安裝路徑
1.打開eclipse,選擇preference,找到maven選項,選擇installations,點擊右邊的add進行編輯,選擇本地的maven路徑
最后點擊finish完成
04maven-eclipse.png
7.2 配置本地倉庫,就是找到剛才建立的repository文件
選擇maven選項的User Settings選項:
User Settings選擇找到maven解壓安裝目錄下的settings.xml文件位置(就是第四步編輯的文件)
Local Repository指向自己創建的repository文件的文字
05usersettings.png
7.3 顯示maven repository窗口
eclipse->Window---show view ------other----------maven Repositories
重構索引:右鍵點擊 Local Repositories,點擊 Rebuild Index
06showview.png
07rebuildindex.png
- 創建hellomaven工程
File->New->Maven Project ,打鉤create a simple project
->next->Group Id(公司域名com.it.companyname),Artifact Id(項目名稱:hellomaven),Packaging選擇war(web項目)->finish完成即可
08mavenpro.png
08mavenpro01.png
08mavenpro02.png
8.1 解決報錯原因
8.1.1:
在webapp目錄下創建文件夾WEB-INF,在WEB-INF下創建web.xml文件,并且寫入web項目的約束.
09webxml.png
8.2 創建HelloServlet,訪問路徑設置為/hello
發現報錯,這是缺少jar包導致

8.2.1 解決
打開pom.xml文件,選擇Dependecies選項卡,點擊add按鈕,搜索servlet,選擇jar包,點擊jar包OK即可,等jar包下載完成即可解決,
如果發現下載完成還是報錯,可以右點擊工程名,選擇maven->Update Project,再rebuild index
11addjar.png
在 HelloServlet類中的doGet方法寫入:response.getWriter().write("Hello Maven!");
8.3運行工程
右擊工程->run as ->選擇maven build->輸入tomcat7:run,等待服務器啟動完成,如果不報錯,進行訪問路徑
如果沒有tomcat7,打開pom.xml加入下面設置,再次Update Project,rebuild index,運行命令:
<build>
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.1</version>
</plugin>
</plugins>
</build>
11run.png
11run02.png
控制臺會打印出訪問路徑,拷貝到瀏覽器,加上訪問路徑/hello,http://localhost:8080/hellomaven/hello如果不出意外,訪問成功,至此,hellmaven構建完成.
12url.png
13success.png