1. 程式人生 > >Maven環境搭建和介紹

Maven環境搭建和介紹

        最近專案弄完了,有好多時間,準備把以前的知識複習一遍,以便日後更好的使用,先從maven搭建開始,然後再搭建以下SSH+mybatis的框架,弄完了在學學Hadoop分散式相關的東西。

       安裝前先配置好電腦的相關環境變數。

      一、配置maven的環境

       將maven解壓,然後配置環境變數開啟: 計算機------系統屬性------高階系統設定------環境變數

      系統變數新建  M2_HOME    

                            變數值E:\apache-maven-3.2.5(maven解壓位置)

      path中新增

                            ;%M2_HOME%\bin    ----在path的後面先新增;號

      啟動cmd,輸入mvm -v可以檢視版本

       

         二、修改本地倉庫位置                

          maven預設的本地倉庫位置,是在當前使用者目錄下/.m2/repository中,我們可以配置到別的盤。

           

      這兒配置到了E:/m2/repository下。

      然後開啟cmd,執行一條簡單的maven命令:mvn  help:system    下載相關的maven資訊。

         三、配置Eclipse的maven外掛

       1、  開啟Eclipse,選擇help----Install New Software------add

                    name : m2e

                    location : http://m2eclipse.sonatype.org/sites/m2e

         選擇全部安裝,好像上面的連結網站已經關閉。那用下面方法:

               從我的百度網盤下載外掛壓縮包:下載

              下載好之後解壓:將裡面的features和plugins資料夾下內容複製到Eclipse對應的features和plugins中,重啟即可。

      2、配置使用者範圍setting.xml

            %M2_HOME%/conf/setting.xml是全域性的設定,這個電腦上所有的使用者都會受影響,所以將%M2_HOME%/conf/setting.xml複製一份,到上面配置倉庫位置中如我的F:/m2資料夾下。

      3、設定MAVEN_OPTS環境變數

            當專案過大時,容易出現OutOfMemoryError異常,所以我們需要修改執行內容,有以下兩種方法:

                   1)在maven的bin/mvn.bat中加入set MAVEN_OPTS= -Xms125m -Xmx512m

                   2)在環境變數中新增 MAVEN_OPTS  變數值為-Xms125m -Xmx512m

                         

      4、配置Eclipse

            在Window——Preferences——Maven

            installations勾掉預設的maven,add安裝的maven目錄

                 

         user Settings中選擇本地倉庫配置的setting.xml,如我的E:\m2\settings.xml

             

    點選應用。

            四、建立Maven專案

        在Eclipse中選擇新建Maven project,選擇工作環境

       1、選擇要建立的filter如下:

          

         2、填寫maven專案座標資訊

          

    我們可以看到已經生成maven結構的專案了。

          

            五、Maven簡單的介紹

             下面是生成的maven的pom.xml檔案,我們可以看一下:

<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>org.andy</groupId>
  <artifactId>redis_demo</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>

  <name>redis_demo</name>
  <url>http://maven.apache.org</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

  <dependencies>
      
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
    
    
  </dependencies>
</project>

其標籤的具體含義如下:

    project:pom.xml檔案中的頂層元素;

    modelVersion:指明POM使用的物件模型的版本。這個值很少改動。

    groupId:指明建立專案的組織或者小組的唯一標識。GroupId是專案的關鍵標識,典型的,此標識以組織的完全限定名來定義。比如,org.apache.maven.plugins是所有  Maven外掛專案指定的groupId。

    artifactId:指明此專案產生的主要產品的基本名稱。專案的主要產品通常為一個JAR檔案。第二,象原始碼包通常使用artifactId作為最後名稱的一部分。典型的產品名稱使用這個格式: <artifactId>- <version>. <extension>(比如:myapp-1.0.jar)。

    version:專案產品的版本號。Maven幫助你管理版本,可以經常看到SNAPSHOT這個版本,表明專案處於開發階段。

    name:專案的顯示名稱,通常用於maven產生的文件中。

    url:指定專案站點,通常用於maven產生的文件中。

    description:描述此專案,通常用於maven產生的文件中。

    properties:pom檔案中的配置資訊,可以配置全域性變數

    dependencies:依賴配置集,裡面可以新增需要的jar的依賴資訊

    比如我們需要新增jedis的jar,可以從中央倉庫搜

          http://mvnrepository.com/

  新增對應的依賴到dependencies標籤就可以:

<dependency>
	<groupId>redis.clients</groupId>
	<artifactId>jedis</artifactId>
	<version>2.6.2</version>
</dependency>

           六、maven的相關命令

    mvn archetype:create :建立 Maven 專案

    mvn compile :編譯原始碼(編譯到target資料夾中)

    mvn test-compile :編譯測試程式碼

    mvn test : 執行應用程式中的單元測試

    mvn site : 生成專案相關資訊的網站

    mvn clean :清除目標目錄中的生成結果(把預設target資料夾中的資料清理)

    mvn package : 專案打包

    mvn install :將打包好的包安裝到本地倉庫中,以使其塔專案能夠呼叫

    mvn eclipse:eclipse :生成 Eclipse 專案檔案

    mvn -Dmaven.test.skip=true : 忽略測試文件編譯

    cargo:deploy    :部署到私有伺服器上

   當然這些命令可以一起使用比如下

      打jar包並且安裝到別的應用  clean compile package install  (清理,編譯,打包,安裝jar)

     打war包並部署  clean compile package cargo:deploy(清理,編譯,打包,安裝war)