學習Java 的同窗就必定會學習Maven, 那麼Maven爲何會獲得大量用戶的使用呢?它是用來幹什麼的呢 ?接下來就來介紹apache
Q:Maven的做用?服務器
(1)Maven能夠自動化構建項目,能夠從清理、編譯、測試到生成報告、打包、部署等等功能均可以自動化完成,將咱們從繁瑣的工做中解脫出來eclipse
(2)解決項目的依賴繁雜以及版本不一致的問題maven
(3)Maven管理了項目中零散的信息,好比項目描述等,還能輕鬆得到項目文檔、測試報告等等學習
(4)能夠將分模塊的項目更好地管理起來(Maven的繼承和彙集)測試
Q: Maven目錄結構?ui
Maven主要的目錄結構以下:阿里雲
--bin (存放了maven運行的腳本命令,咱們調用的maven命令其實就在裏面)url
--boot (Maven 的類加載器)spa
--conf (Maven 的配置文件,裏面包含重要的setting.xml文件,經過修改該文件能夠配置 Maven 行爲)
--lib (包含Maven 運行的全部類庫,以及一個超級POM,全部Maven項目都會默認繼承這個Maven項目)
Q:setting.xml 的主要配置
首先,咱們須要明白 setting.xml 所處的位置不一樣,管轄的範圍也不同:
處於Maven安裝目錄的conf 文件夾下的settings.xml 是全局性的,經過設置裏面的元素能夠對全局進行管理,
而在user/.m2/settings.xml裏面的settings,xml是對當前用戶的設置,在裏面的設置會覆蓋全局設置
settings.xml 文件包含的配置信息以下:
<settings> <localRepository/> <interactiveMode/> <usePluginRegistry/> <offline/> <pluginGroups/> <servers/> <mirrors/> <proxies/> <profiles/> <activeProfiles/> </settings>
localRepository:主要用於設置Maven的本地倉庫,Maven默認的本地倉庫處於 user/.m2/repository 裏面,能夠修改成你想要的地方, 好比 <localRepository> E:/repository </localRepository>
offline: 表示是否開啓離線模式,默認爲false,開啓離線模式後,在每次構建時,就不會從遠程倉庫下載最新的依賴,固然,若是開啓離線模式後,須要的依賴包本地倉庫沒有,就會報錯,而不是自動去下載
servers:通常用於對遠程倉庫的訪問添加用戶名密碼等認證信息,由於若是要訪問的遠程倉庫須要進行身份認證,就必須填寫這些信息,將認證信息寫在這裏而不是pom.xml文件中的緣由是pom.xml 文件是須要
隨着項目發佈的,不能起到保密做用,寫法以下:
<servers> <server> <id></id> (id須要與pom.xml中聲明的遠程倉庫id相同) <username></username> <password></password> </server> </servers>
mirrors:用於設置Maven鏡像,鏡像是指原本要訪問A遠程倉庫的,如今所有轉到訪問B鏡像,咱們通常將阿里雲的鏡像設置爲遠程中央倉庫的鏡像
<mirror> <id>AliMaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <mirrorOf>central</mirrorOf>
</mirror>
proxies:設置代理,通常用於公司內部不能直接訪問外網,必須經過代理服務器對外網進行訪問的狀況
Q:在eclipse中使用Maven須要注意什麼?
一、在eclipse中使用本身的Maven,確保eclipse中的Maven和命令行的Maven是同一個
二、確保本身eclipse能找到正確的settings.xml配置文件
三、修改 jre 版本,因爲用Maven模板建立出來的Maven項目,使用的jre版本很低,因此須要進行修改,修改方式:
點擊項目右鍵-->buildPath,而後按照以下操做:
同時還要修改pom.xml文件的編譯插件的版本(由於咱們以前說過,全部Maven都會繼承lib文件夾中的父類POM,可是父類POM中的編譯插件配置版本實在是太老了,因此咱們必須手動覆蓋掉)
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.0</version> <configuration> <source>1.8</source> <target>1.8</target> <encoding>UTF-8</encoding> <verbal>true</verbal> </configuration> </plugin> </plugins> </build>
四、在eclipse中添加依賴,在eclipse中搜索maven依賴,而且添加到pom中: 右鍵點擊項目,選擇Mavem --> Add dependency,以下圖:
在搜索框中搜索便可,若是搜索以後沒有搜索到,可是本地倉庫確實有此依賴,那麼須要更新索引,點擊window-->show view --> other -->maven repository,以下圖,點擊local repository的 rebuid index就能夠了