天天看點

maven開發01-安裝與配置、實作maven版helloworld

感謝林炳文Evankakahttp://blog.csdn.net/evankaka/article/details/47904283的教程。根據他的教程自己寫了一遍,記錄下來。

本文着重傻瓜式速成教程,先上手,後研究。不要問為什麼,Follow Me,先來體驗一下maven的快感!

一、maven開發01-安裝與配置

1、下載下傳maven安裝包 去https://maven.apache.org/下載下傳apache-maven-3.5.0-bin.zip,解壓即可使用。 2、maven環境變量配置 建立環境變量MAVEN_HOME(值為maven的根目錄)、 然後在PATH環境變量裡加入%MAVEN_HOME%\bin;即可。 3、檢驗是否配置成功 運作cmd 輸入 mvn -version 若如圖所示 顯示版本資訊 則說明安裝和配置成功 至此,maven已經安裝成功。 我們這裡先不去關系maven的指令操作。 4、配置本地倉庫。 打開apache-maven-3.5.0\conf下setting.xml檔案,localRepository的值設定成你本地倉庫的路徑。

maven開發01-安裝與配置、實作maven版helloworld

5、maven配置到eclipse上 j2ee的eclipse已經預設內建了maven插件(如果沒有,手工安裝:Help–>Eclipse Marketplace搜尋關鍵字maven到插件Maven Integration for Eclipse 并點選安裝即可,重新開機eclipse,可以看到Window→ Preferences→Maven的選項) 然後,Windows–>Prefrences–>Maven–>Installations–>Add。installation home選maven的根目錄,送出。 然後,Windows–>Prefrences–>Maven–>User Setting–>Browse。選中maven目錄conf下的setting.xml檔案。 至此 maven安裝配置完成!

二、初步了解maven

      Maven是一個采用純Java編寫的開 源項目管理工具。Maven采用了一種被稱之為project object model (POM)概念來管理項目,所有的項目配置資訊都被定義在一個叫做POM.xml的檔案中,通過該檔案,Maven可以管理項目的整個聲明周期,包括編 譯,建構,測試,釋出,報告等等。目前Apache下絕大多數項目都已經采用Maven進行管理。而Maven本身還支援多種插件,可以友善更靈活的控制項目 1.了解maven的目錄結構,在maven的建構過程中,建構的程式必須有特定的目錄結構,基本的目錄如下所示:

maven開發01-安裝與配置、實作maven版helloworld

2.對于這個目錄的建立,熟練的建立這個目錄是必備的,但是這樣無助于開發的進度,是以maven自帶了一個archetype工具幫助我們自動生成項目的骨架。在cmd中切換到工程的目錄,執行指令mvn archetype:generate,就是自動生成需要的目錄,在生成的過程中會需要輸入一些字段,在下面說明的pom.xml的時候再講。 3.pom.xml<Project Object Model,項目對象模型>檔案,這個檔案可以了解為整個項目的控制檔案,對于這個檔案有一下幾個屬性需要說明。 <modelVersion> :預設是4.0.0,指定了目前POM模型的版本。 <groupId>:定義了項目屬于哪一個組,這個組通常與項目所在的組織或者公司關聯,如com.microsoft.myapp, com.google.myapp等等。 <artifactId>:定義了目前maven項目在組中的唯一ID,可以定義為項目的名稱如:HelloWorld <version>:指定目前的版本,如1.0-SNAPSHOT,snapshot是快照的意思,說明該項目還在開發中,是不穩定的版本。 而一般通過archetype工具生成的包名就是groupId+artifactId。

maven開發01-安裝與配置、實作maven版helloworld

三、maven版的helloworld 1,建立一個maven項目

New Project -->Maven-->Maven Project

2,Archetype選擇maven-archetype-quickstart

maven開發01-安裝與配置、實作maven版helloworld

3,輸入包名,工程名

maven開發01-安裝與配置、實作maven版helloworld

4,得到的工程結構如下

maven開發01-安裝與配置、實作maven版helloworld

5,修改App.java

package com.andy.learning.maven_helloworld;

/**
 * Hello world!
 *
 */
public class App {
	public static void main(String[] args) {
		System.out.println("Hello World!");
	}
	public void sayHello(){
		System.out.println("say Hello World!");
	}
}
           

修改AppTest.java

package com.andy.learning.maven_helloworld;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
//        assertTrue( true );
    	App app = new App();
    	app.sayHello();
    }
}
           

7, 進行單元測試

maven開發01-安裝與配置、實作maven版helloworld

8,打包輸出jar檔案,供其他項目使用

maven開發01-安裝與配置、實作maven版helloworld

輸入 clean install 指令

maven開發01-安裝與配置、實作maven版helloworld

建構成功,console輸出:

[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ maven-helloworld ---
[INFO] Building jar: E:\Andy_software\workSpace\maven-helloworld\target\maven-helloworld-0.0.1-SNAPSHOT.jar
[INFO] 
[INFO] --- maven-install-plugin:2.4:install (default-install) @ maven-helloworld ---
[INFO] Installing E:\Andy_software\workSpace\maven-helloworld\target\maven-helloworld-0.0.1-SNAPSHOT.jar to E:\Andy_software\maven\localRepository\com\andy\learning\maven-helloworld\0.0.1-SNAPSHOT\maven-helloworld-0.0.1-SNAPSHOT.jar
[INFO] Installing E:\Andy_software\workSpace\maven-helloworld\pom.xml to E:\Andy_software\maven\localRepository\com\andy\learning\maven-helloworld\0.0.1-SNAPSHOT\maven-helloworld-0.0.1-SNAPSHOT.pom
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3.265 s
[INFO] Finished at: 2017-09-06T11:47:22+08:00
[INFO] Final Memory: 16M/219M
[INFO] ------------------------------------------------------------------------
           

根據輸出資訊,檢視生成的jar包

maven開發01-安裝與配置、實作maven版helloworld

9,使用jar包

建立一個maven-test項目,并修改App.java如下,避免重名

maven開發01-安裝與配置、實作maven版helloworld

pom.xml檔案 添加maven-helloworld的jar包依賴

<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.andy.learning</groupId>
  <artifactId>maven-test</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>

  <name>maven-test</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>
    <dependency>
      <groupId>com.andy.learning</groupId>
      <artifactId>maven-helloworld</artifactId>
      <version>0.0.1-SNAPSHOT</version>
    </dependency>
    
    
  </dependencies>
</project>
           

更新maven工程

maven開發01-安裝與配置、實作maven版helloworld
maven開發01-安裝與配置、實作maven版helloworld

更新好了,直接選中AppHello的main,然後右鍵運作,輸出了結果

maven開發01-安裝與配置、實作maven版helloworld

時maven-helloworld更改了内容,比如它的App.java添加一個方法sayHello2();打包釋出jar後;

同理,maven-test工程直接maven->update project就會自動引入新的jar包,就可以調用新添加的方法。