1. 程式人生 > >maven環境快速搭建

maven環境快速搭建

裝配 all 原則 name ring com absolute 路徑 print

(1)Maven的簡單介紹

Maven這個個項目管理和構建自動化工具,越來越多的開發人員使用它來管理項目中的jar包。但是對於我們程序員來說,我們最關心的是它的項目構建功能。所以這裏我們介紹的就是怎樣用 maven 來滿足我們項目的日常需要。Maven 使用慣例優於配置的原則 。它要求在沒有定制之前,所有的項目都有如下的結構:

技術分享

一個 maven 項目在默認情況下會產生 jar 文件,另外 ,編譯後 的 classes 會放在 basedir/target/classes 下面, jar 文件會放在 ${basedir}/target 下面。接下來我們來安裝 maven 。

(2)Maven安裝與配置

2.1、下載maven安裝包:apache-maven-3.2.1 http://download.csdn.net/detail/u013142781/9355367,解壓即可使用。

2.2、maven環境變量配置,配置方式跟jdk有些類似。新建環境變量MAVEN_HOME(值為maven的根目錄)、然後在PATH環境變量裏加入%MAVEN_HOME%\bin;即可。

2.3、設置setting.xml文件,配置本地倉庫。apache-maven-3.2.1\conf下有個setting.xml文件,打開,localRepository的值設置成你本地倉庫的路徑。(博主在apache-maven-3.2.1根目錄下創建了個repository文件夾作為本地倉庫)。如下圖

技術分享

2.4、然後重啟eclipse,當你打開Window→ Preferences…的時候,你應該能夠在一個選項列表中看到一個Maven選項:

技術分享

然後,Windows–>Prefrences–>Installations–>Add。installation name選maven的根目錄,然後一直按確定就OK啦。

技術分享

至此 maven安裝配置完成!

(3)Maven的常用命令

Maven常用命令:
1. 創建Maven的普通java項目:
mvn archetype:create -DgroupId=packageName -DartifactId=projectName

2. 創建Maven的Web項目:
mvn archetype:create -DgroupId=packageName -DartifactId=webappName-DarchetypeArtifactId=maven-archetype-webapp
3. 編譯源代碼: mvn compile
4. 編譯測試代碼:mvn test-compile
5. 運行測試:mvn test
6. 產生site:mvn site
7. 打包:mvn package
8. 在本地Repository中安裝jar:mvn install
9. 清除產生的項目:mvn clean
10. 生成eclipse項目:mvn eclipse:eclipse
11. 生成idea項目:mvn idea:idea
12. 組合使用goal命令,如只打包不測試:mvn -Dtest package
13. 編譯測試的內容:mvn test-compile
14. 只打jar包: mvn jar:jar
15. 只測試而不編譯,也不測試編譯:mvn test -skipping compile -skipping test-compile
( -skipping 的靈活運用,當然也可以用於其他組合命令)
16. 清除eclipse的一些系統設置:mvn eclipse:clean

(4)Maven實例

1、Maven工程創建

技術分享

2、選擇快速框架

技術分享

3、輸出項目名,包(Packaging,如果只是普通的項目,選jar就好了,如果是web項目就選war,這裏我們選擇jar)

技術分享

4、創建好的目錄如下:

技術分享

5、剛開始的pom.xml是這樣的

技術分享

6、現在我們添加mysql驅動包的依賴,編輯pom.xml如下:

<code class="hljs xml has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: ‘Source Code Pro‘, monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"><span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"><<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">project</span> <span class="hljs-attribute" style="box-sizing: border-box; color: rgb(102, 0, 102);">xmlns</span>=<span class="hljs-value" style="box-sizing: border-box; color: rgb(0, 136, 0);">"http://maven.apache.org/POM/4.0.0"</span> <span class="hljs-attribute" style="box-sizing: border-box; color: rgb(102, 0, 102);">xmlns:xsi</span>=<span class="hljs-value" style="box-sizing: border-box; color: rgb(0, 136, 0);">"http://www.w3.org/2001/XMLSchema-instance"</span> <span class="hljs-attribute" style="box-sizing: border-box; color: rgb(102, 0, 102);">xsi:schemaLocation</span>=<span class="hljs-value" style="box-sizing: border-box; color: rgb(0, 136, 0);">"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"</span>></span>
  <span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"><<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">modelVersion</span>></span>4.0.0<span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"></<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">modelVersion</span>></span>
  <span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"><<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">groupId</span>></span>com.luo<span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"></<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">groupId</span>></span>
  <span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"><<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">artifactId</span>></span>first_maven_project<span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"></<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">artifactId</span>></span>
  <span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"><<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">version</span>></span>0.0.1-SNAPSHOT<span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"></<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">version</span>></span>

  <span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"><<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">dependencies</span>></span>
        <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;"><!-- mysql驅動包 --></span>
        <span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"><<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">dependency</span>></span>
            <span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"><<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">groupId</span>></span>mysql<span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"></<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">groupId</span>></span>
            <span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"><<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">artifactId</span>></span>mysql-connector-java<span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"></<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">artifactId</span>></span>
            <span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"><<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">version</span>></span>5.1.29<span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"></<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">version</span>></span>
        <span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"></<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">dependency</span>></span>
    <span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"></<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">dependencies</span>></span>

<span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"></<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">project</span>></span></code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; "><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li><li style="box-sizing: border-box; padding: 0px 5px;">10</li><li style="box-sizing: border-box; padding: 0px 5px;">11</li><li style="box-sizing: border-box; padding: 0px 5px;">12</li><li style="box-sizing: border-box; padding: 0px 5px;">13</li><li style="box-sizing: border-box; padding: 0px 5px;">14</li><li style="box-sizing: border-box; padding: 0px 5px;">15</li><li style="box-sizing: border-box; padding: 0px 5px;">16</li></ul>

7、如上編輯pom.xml,然後保存,那麽就會自動從中央倉庫下載包,會發現這裏多了一個包:

技術分享

然後就可以正常使用這個包啦

8、其他想要依賴的包,對應的dependency,可以在這個網站找:
http://mvnrepository.com/

技術分享

maven環境快速搭建