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

Maven環境搭建

arc chang pen artifact sting 4.0 根目錄 compiler model

項目管理利器——maven http://www.imooc.com/learn/443

---2-1 maven下載---------------------------------

maven下載:http://maven.apache.org/download.cgi

  Binary zip archive: apache-maven-3.5.0-bin.zip

  Source zip archive: apache-maven-3.5.0-src.zip

++

apache-maven-3.5.0

\bin :bin目錄包含mvn的運行腳本

\boot 類加載器的框架(maven用它來加載自己的類庫)

\conf 配置文件 如settings.xml

\lib 類庫 maven和第三方以來的類庫

----------------------------------------------------------------------

配置環境變量:

用戶變量:多人公用時在此設置。

系統變量:私人使用電腦時就可以設在此處

1.添加:

  變量名:M2_HOME 值:maven安裝目錄

2. Path:

添加";%M2_HOME%\bin"

驗證:cmd中輸入mvn -v 顯示版本信息(echo %M2_HOME% 顯示該變量的值)

---2-2 maven快速入門-------------------------------------------------------------------

maven目錄結構

  

src

  -main

    -java

      -package

  -test

    -java

      -package

pom.xml  在根目錄下配置pom.xml

example:

1.HelloWorld.java

  D:\java\code\maven01\src\main\java\com\imooc\maven01\model

  

  package com.imooc.maven01.model;
  public class HelloWorld {
      public String sayHello() {
          
return "HelloWorld !";    }   }

2.HelloWorldTest.java

  D:\java\code\maven01\src\test\java\com\imooc\maven01\model

  

  package com.imooc.maven01.model;

  import org.junit.*;
  import org.junit.Assert.*;

  public class HelloWorldTest {
      @Test
      public void testHello() {
          Assert.assertEquals("HelloWorld !",new HelloWorld().sayHello());
      }
  }

3.pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<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.iooc</groupId><!--groupId項目包名-->
    <artifactId>maven01-model</artifactId><!--artifactId模塊名;建議使用項目名-->
    <version>0.0.1-SNAPSHOT</version><!--快照版本-->
    <dependencies>
        <dependency>
            <!--junit依賴-->
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>4.10</version>
        </dependency>
    </dependencies>
</project>

cmd:

  1.進入maven01 項目根目錄中 cd url

  2.mvn compile 對項目進行編譯

  編譯結果

  D:\java\code\maven01>mvn compile
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building maven01-model 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ maven01-model ---
[WARNING] Using platform encoding (GBK actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory D:\java\code\maven01\src\main\resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ maven01-model ---
[INFO] Changes detected - recompiling the module!
[WARNING] File encoding has not been set, using platform encoding GBK, i.e. build is platform dependent!
[INFO] Compiling 1 source file to D:\java\code\maven01\target\classes
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.857 s
[INFO] Finished at: 2017-06-27T15:36:46+08:00
[INFO] Final Memory: 13M/161M
[INFO] ------------------------------------------------------------------------

D:\java\code\maven01>

 3.mvn test 運行測試用例

    自動生成target文件夾

  \target

    \classes 字節碼文件

    \maven-status

    \surefire-reports 生成的測試報告

    \test-classes 

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running com.imooc.maven01.model.HelloWorldTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.102 sec

Results :

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

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 19.230 s
[INFO] Finished at: 2017-06-27T15:39:16+08:00
[INFO] Final Memory: 17M/140M
[INFO] ------------------------------------------------------------------------

  5.mvn package

  在target目錄中生成maven01-model的jar

INFO] Building jar: D:\java\code\maven01\target\maven01-model-0.0.1-SNAPSHOT.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 13.251 s
[INFO] Finished at: 2017-06-27T15:44:13+08:00
[INFO] Final Memory: 13M/123M
[INFO] ------------------------------------------------------------------------

---------------------------------------------------------------------------

1.cmd 中cd到maven項目的根目錄。
2.maven的運行
  mvn compile 編譯   mvn test 運行test包下面的代碼 生成target文件夾 其中classes中為編譯後的字節碼文件
      默認在根目錄生成target目錄     mvn package 給整個項目打包,在target目錄下生成jar文件(文件類型可用pom中的packaging標簽自己定義)

----------------------------------------------------------------------

----------------------------------------------------------------------

----------------------------------------------------------------------

Maven環境搭建