感謝林炳文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的值設定成你本地倉庫的路徑。
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIyVGduV2QvwVe0lmdhJ3ZvwFM38CXlZHbvN3cpR2Lc1TPB10QGtWUCpEMJ9CXsxWam9CXwADNvwVZ6l2c052bm9CXUJDT1wkNhVzLcRnbvZ2Lc1zdyk1M5YVZrVzVZZXUYpVd1kmYr50MZV3YyI2cKJDT29GRjBjUIF2LcRHelR3LcJzLctmch1mclRXY39TMxMjM1ADNzEjMwkDM3EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
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的建構過程中,建構的程式必須有特定的目錄結構,基本的目錄如下所示:
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版的helloworld 1,建立一個maven項目
New Project -->Maven-->Maven Project
2,Archetype選擇maven-archetype-quickstart
3,輸入包名,工程名
4,得到的工程結構如下
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, 進行單元測試
8,打包輸出jar檔案,供其他項目使用
輸入 clean install 指令
建構成功,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包
9,使用jar包
建立一個maven-test項目,并修改App.java如下,避免重名
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工程
更新好了,直接選中AppHello的main,然後右鍵運作,輸出了結果
時maven-helloworld更改了内容,比如它的App.java添加一個方法sayHello2();打包釋出jar後;
同理,maven-test工程直接maven->update project就會自動引入新的jar包,就可以調用新添加的方法。