MAVEN已經成為事實上的企業項目開發中的項目類型。無論是IDEA還是Eclipse,都已經預設支援建立MAVEN項目。嚴格意義上來說,MAVEN不是一種新的JavaEE項目類型。它淩駕于是以的項目類型上面,是對之前項目的一種“管理”。如果我們建立了MAVEN項目,那麼會很友善的幹這兩件事情:
1:管理所有的依賴包。其中一個例子是,以往我們要引入一個第三方的jar包,需要把該jar包從網上(或者其它地方)下載下傳回來,然後引入到項目中。而現在,我們隻要在pom檔案中引入改jar包的辨別符,然後maven插件會自動幫我們下載下傳該jar包并引入到項目中來。
2:友善我們編譯、執行、部署項目。
且看maven項目在IDEA中如何運作。
1.建立parent項目
我假設你的項目,不會簡單到隻有一個Project(在IDEA中更多的稱之為Module),所遇,基于一般的做法,我們首先會建立一個父項目。
該父項目會定義一些通用配置,比如會整個系統所使用的JDK版本,或者引入的通用的jar包的版本。
選擇new project,如下,
Next,在此頁面,定義groupid和辨別符和版本号,
Next,定義項目名,module名。注意,module名很重要,我們定義為:test01.parent,
接下來,可以enable auto-import,
Pom檔案就是配置檔案,是parent中我們唯一需要動的檔案,在這個檔案中,我們目前要做的就是把項目的JDK版本定義為1.10,如下,
<?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.zuikc</groupId>
<artifactId>test01</artifactId>
<packaging>pom</packaging>
<version>1.0.1</version>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.encoding>UTF-8</maven.compiler.encoding>
<java.version>1.10</java.version>
<maven.compiler.source>1.10</maven.compiler.source>
<maven.compiler.target>1.10</maven.compiler.target>
</properties>
</project>
2.建立工具項目
有了parent,讓我們建立工具項目吧。
Next。注意,下圖紅框中的設定是自動帶過來的,一般不需要動。Module的辨別取名為test01.common。一般這種項目,在實際的工作中,是用來放置各種工具類的。
Next,
Finish之後,可以看到目前module的pom檔案中,指定了parent。
為了示範期間,讓我們随便建立一個很簡單的工具類吧,這個工具類中,隻有一個加法方法。
如下,
package com.zuikc.test01.common;
public class Mather {
public static final int add(int a, int b){
return a+b;
}
}
3.建立UI層項目
接下來,讓我們建立UI層。當然,實際工作中,可能你的設計是标準的三層架構,那無非也就是多建立幾個module。另外,UI層可能是一個web project,也有可能是像本例一樣是個console。那都無所謂,MAVEN項目的一個優點是,你甚至可以随意将一個console項目變成一個web project。
讓我們繼續建立UI層,
Finish。
在本項目的pom檔案中,我們要設定自己依賴了common,是以,我們要配置下圖紅框中的内容。
現在,為了測試期間,讓我們建立一個main類,
代碼如下,
package com.zuikc.test01.ui;
import com.zuikc.test01.common.Mather;
public class Sample01 {
public static void main(String[] args) {
int re = Mather.add(1,2);
System.out.println(re);
4.exec-maven-plugin插件
要以MAVEN的形式來運作console項目,我們需要添加exec-maven-plugin插件。怎麼添加呢?
很簡單的,隻要在UI項目的pom中增加如下,
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.6.0</version>
<executions>
<execution>
<goals>
<goal>exec</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
看圖,
當儲存之後,maven就會從中央倉儲(mvnrepository.com)中去下載下傳這個插件(其實主要就是一些jar包)到本地。
5.配置運作console
打開配置,
點選+号,增加一個maven配置,
像如下進行配置,
儲存後進行run,
第一次執行,會出現download,
這些down下來的檔案是在哪呢?是在一個叫做maven本地倉儲的地方,它預設就是idea安裝目錄的plugs下,如下所示:
Ok,回過頭來說,如果執行成功就會出現下面的輸出。
6.Maven clean和install
如果我們run的時候找不到common。就說明我們的common項目還沒安裝到maven的本地倉儲中。那該怎麼辦呢?當然是install了。
有兩種方式,可以打開maven的操作工作台,如下,
如圖,
每個項目都有自己的lifecycle,可以在這個工作台中進行clean、編譯或者install等。依次,我們install parent、common、ui。成功之後,我們就可以在本地倉儲中看到自己編寫的項目咯。
感謝關注“碼農星球”。本文版權屬于“碼農星球”。我們提供咨詢和教育訓練服務,關于本文有任何困惑,請關注并聯系我們。
本文基于Creative Commons Attribution 2.5 China Mainland License釋出,歡迎轉載,演繹或用于商業目的,但是必須保留本文的署名http://www.cnblogs.com/luminji(包含連結)。如您有任何疑問或者授權方面的協商,請給我留言。