1分鐘快速搭建maven

1、mave安裝

        mavn地址:http://maven.apache.org/download.cgihtml

        jdk:1.5以上java

        操做系統:windows(本文章)spring

        maven 下載以後直接解壓便可。mongodb


2、環境配置

   一、環境變量

  MAVEN_HOME : E:\develop\apache\apache-maven-3.0.5
  MAVEN : %MAVEN_HOME%\bin 
  MAVEN_HOME 是個人maven的解壓目錄。

       以上直接在windows 的環境變量添加,而後找到 Path,在裏面添加:%MAVEN%;便可。shell

      如圖:apache

   安裝成功後,運行: mvn -v  結果以下:windows

   

   二、修改倉庫地址

    maven的倉庫用來維護項目的jar包,全部的jar包都在這,通常的目錄名字:.m2
app

    maven的默認倉庫位置不太好,在c盤,須要咱們挪下窩,進入maven目錄(解壓後目錄),進入conf目錄找到:
框架

     settings.xmleclipse

     而後以下:

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" 
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
  <!-- localRepository
   | The path to the local repository maven will use to store artifacts.
   | ----------這個是默認倉庫位置------
   | Default: ~/.m2/repository
  <localRepository>/path/to/local/repo</localRepository>
  -->
      <!-- 這個是新定義的倉庫位置-->
   <localRepository>E:\develop\apache\.m2</localRepository>



3、建立maven項目

   建立項目目錄(這個你隨意,用來放項目的): test

    進入test:cd test

    執行:

   mvn archetype:create -DgroupId=com.maven.test -DartifactId=hello -DpackageName=com.maven.test -Dversion=1.0

    運行結果以下,建立成功

E:\wier\test> mvn archetype:create -DgroupId=com.maven.test -DartifactId=hello -
DpackageName=com.maven.test -Dversion=1.0
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Maven Stub Project (No POM) 1
....省略
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3.484s
[INFO] Finished at: Tue Mar 03 11:04:39 CST 2015
[INFO] Final Memory: 14M/155M
[INFO] ------------------------------------------------------------------------

 以上省略的部分有些在下載jar包,會比較耗時,等待一下子,執行到 build success的時候就算是成功了。

  成功後,hello目錄以下:

└── hello
    └── src
        └── main
            └── java
                └── com
                  └── com
                      └── maven
                          └── App.java
     └── pom.xml

 其中pom.xml比較重要,全部的依賴都有它維護,後面會介紹詳細的,這裏咱們只關注:

  <groupId>com.maven.test</groupId>
  <artifactId>hello</artifactId>
  <version>1.0</version>

  這個是項目的信息.



4、build項目

    進入 hello 項目

cd hello

  養成好習慣,咱們在編譯前,先clean下,而後依次的步驟爲:clean(清理)compile(編譯),Package(打包,可選)

  clean ,清理會把項目依賴的不存在的包從新下載檢測下,沒有的下載。

E:\wier\test\hello>mvn clean
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building hello 1.0
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.4.1:clean (default-clean) @ hello ---
[INFO] Deleting E:\wier\test\hello\target
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.335s
[INFO] Finished at: Tue Mar 03 11:26:37 CST 2015
[INFO] Final Memory: 4M/123M
[INFO] ------------------------------------------------------------------------

  compile(編譯),編譯爲可運行.

E:\wier\test\hello>mvn compile
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building hello 1.0
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-resources-plugin:2.5:resources (default-resources) @ hello ---
[debug] execute contextualize
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory E:\wier\test\hello\src\main\resources

[INFO]
[INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ hello ---
[INFO] Compiling 1 source file to E:\wier\test\hello\target\classes
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.079s
[INFO] Finished at: Tue Mar 03 11:28:37 CST 2015
[INFO] Final Memory: 11M/155M
[INFO] ------------------------------------------------------------------------

   Package(打包,可選),通常到compile的時候編譯就完成,如果想打包,能夠執行這個命令.

E:\wier\test\hello>mvn package
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building hello 1.0
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-resources-plugin:2.5:resources (default-resources) @ hello ---

...省略
Results :

Tests run: 1, Failures: 0, Errors: 0, Skipped: 0

[INFO]
[INFO] --- maven-jar-plugin:2.3.2:jar (default-jar) @ hello ---
[INFO] Building jar: E:\wier\test\hello\target\hello-1.0.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.247s
[INFO] Finished at: Tue Mar 03 11:32:45 CST 2015
[INFO] Final Memory: 13M/155M
[INFO] ------------------------------------------------------------------------

   咱們來運行測試看下:

E:\wier\test\hello>java -cp target\hello-1.0.jar com.maven.test.App
Hello World!

   最經典的 hello world 就出來了。



5、加入新包

項目須要引入新包,此時咱們維護pom.xml配置就能夠,dependencies 用來維護引入包。

好比咱們要加入spring-data-mongodb 項目的全部依賴包,

找到pom.xml,打開,找到dependencies,加入以下配置:

<!-- spring-data-mongodb 的jar引入-->
    <dependency>
        <groupId>org.springframework.data</groupId>
        <artifactId>spring-data-mongodb</artifactId>
        <version>1.5.5.RELEASE</version>
    </dependency>

 保存後,運行下: 

mvn clean

maven就會自動下載相關的jar,並引入到項目



6、包版本維護

項目有時候須要用到最新的包,此時只須要 找到對應的dependency ,而後修改下 version便可,而後再執行下:mvn clean

好比咱們要把spring-data-mongodb 更新到最新的1.6.2.RELEASE

<!-- spring-data-mongodb 的jar引入-->
    <dependency>
        <groupId>org.springframework.data</groupId>
        <artifactId>spring-data-mongodb</artifactId>
        <!-- 更改版本號-->
        <version>1.6.2.RELEASE</version>
    </dependency>

保存以後執行:

mvn clean



7、導入eclipse

開發工具都會用到eclipse,目前的項目是沒辦法導入到eclipse ,目錄結構不適合eclipse 。

 第一步,讓hello項目改變爲eclipse目錄結構.執行命令:

cd hello
mvn eclipse:eclipse

 運行後目錄結構以下:

 

 第二步,配置eclipse

   安裝maven就不介紹了,網上本身mark, 這個安裝介紹不錯:maven安裝

    我只說下基本配置,三個地方須要處理下。

    位置1:  maven安裝目錄

Window  -->  Preferences -->Maven -->Installations

     eclipse 此處設置maven的安裝地址,點擊add ,設置maven的安裝目錄.

  

    位置2: Settings ,設置maven 的 setting.xml 配置文件

Window  -->  Preferences -->Maven -->User Settings

   點擊Browe,指定maven的setting.xml配置.

 

 位置3:指定maven倉庫地址

Window----Perferences-----java-----Build Path-----Classpath Variables

  點擊new ,新創個name爲:M2_REPO   path爲:E:\develop\apache\.m2

    path爲倉庫地址。

  


   以上配置完畢以後,就能夠導入項目到eclipse 了。



8、配置說明

  一、pom.xml說明

      hello的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>com.maven.test</groupId>
  <artifactId>hello</artifactId>
  <version>1.0</version>
  <packaging>jar</packaging>

  <name>hello</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>

	<!-- spring-data-mongodb 的jar引入-->
    <dependency>
        <groupId>org.springframework.data</groupId>
        <artifactId>spring-data-mongodb</artifactId>
        <version>1.6.2.RELEASE</version>
    </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產生的文檔中。  


  二、maven生命週期    

validate:驗證工程是否正確,全部須要的資源是否可用。
compile:編譯項目的源代碼。  
test:使用合適的單元測試框架來測試已編譯的源代碼。這些測試不須要已打包和佈署。
Package:把已編譯的代碼打包成可發佈的格式,好比jar。
integration-test:若有須要,將包處理和發佈到一個可以進行集成測試的環境。
verify:運行全部檢查,驗證包是否有效且達到質量標準。
install:把包安裝在本地的repository中,能夠被其餘工程做爲依賴來使用。
Deploy:在集成或者發佈環境下執行,將最終版本的包拷貝到遠程的repository,使得其餘的開發者或者工程能夠共享。
clean:清除先前構建的artifacts(在maven中,把由項目生成的包都叫做artifact)。
site:爲項目生成文檔站點。 

相關文章
相關標籤/搜索