Maven的簡單使用


 

一、前言

mavenjava的包管理工具,相當於是nodejs中的npmphp中的composerpython中的pip(如果有一個中了,那么你應該就了解了)。應用maven可以方便地引入各種java的第三方類庫(包括SpringStrutsjunit等)和插件(如tomcat等)。

本文采用intelliJ IDEA作為集成開發環境(IDE),在其中創建一個maven的項目,並在其中引入Apache Common Math庫(一個用於科學計算的類庫),完成一些簡單的計算實現。

二、下載maven

軟件下載安裝從來不是難事,先進入maven官網http://maven.apache.org/,然后在左側點進download頁面download.cgi,拖到下面File中,windows系統下載后綴為bin.zip的文件即可。

下載過后解壓到一個文件夾下,我把它放到了C:\MyFolds\Tools\apache-maven-3.5.0下,這個目錄便是maven的根目錄了,里面包含binbootconflib4個文件夾,還有LICENSENOTICEREADME.txt文件,如下圖。

 

 

bin是一個常用的目錄,我們可以把它添加到系統的環境變量中,這樣,我們就可以在命令行中使用了。此時應該來一個”mvn -v“的指令。

 

 

當然,這一步對我們之后的操作影響不大,因為java不是一個跟命令行關系很大的語言。

二、IntelliJ IDEA中集成maven

IntelliJ IDEA應該不用多介紹,除了占用的系統資源多之外,很難再找出什么缺點出來,用起來非常舒服。這里我們假定你已經在IDEA中配置好java

廢話不多說,我們打開IDEA,然后File->Settings打開Settings(設置)頁面,再找的話應該是Build,Execution,Deployment->Build Tools->Maven,我們也可以通過搜索來快速找到。

 

 

需要配置的是其中的Maven home directory,點擊右側的“...”,然后選擇maven的根目錄即可。倒三角里有IDEA集成的maven,也可以選擇,不過不是最新版的。

三、創建一個maven項目

java設計者的眼中,所有代碼都是項目加配置,maven也不例外,要使用maven需要先創建一個項目,並寫好一個名為pom.xml的配置文件。

先普及一點小知識,POM的英文全稱是Project Object Model,即項目對象模型,我就不說它和DOM(文檔對象模型)類似了,因為這完全就是兩個東西。pom.xmlmaven所依賴的項目描述配置文件,在這里可以定義一些項目的相關數據,例如作者、公司和項目名等,當然最關鍵的還是它可以引入類庫的依賴,從而不用再到各大官方網站上下載jar包。

好了,我們回到任務中來。在配置完了maven路徑之后,我們點擊File->New->Project,然后點擊左側的Maven,右側會出現很多archetype,這是maven中很多人貢獻的maven項目構建框架,我們這里不用這個,直接點擊Next進入下一步。

 

 

進入下一步,它會讓你填寫三個參數:GroupIdArtifactIdVersion。這個三元組在maven中被稱為坐標,在之后引入類庫時還會用到。為了進行下去,我們不多介紹,只給出填寫的說明。GroupId一般為公司名或公司網址,例如說org.springframework,便是spring框架一般會使用的GroupId(沒公司的話,編你還不會嗎?沒有夢想嗎?),這里我填入com.vastsum,雖然這個公司已經不存在了,但是靈魂仍在傳承。ArtifactId你可以理解為項目名(Artifact是藝術品的意思,可見maven的作者很會起名字),當然如果只是一個組件的話可以用“-”來分割,如spring-context,這里我們就寫demo吧。最后Version填個1.0或者1.1.0的都可以,默認的1.0-SNAPSHOT,表示這是一個快照,還沒正式上線。

 

 

進入下一步,設置Project NameProject location,注意到它會把ArtifactId直接當做項目名,這可以修改,但是也沒必要,我們Finish完成創建。

四、項目概覽

如果不出意外,項目的結構會如下圖所示。其中.ideaIDEA項目配置文件,src目錄用於放源代碼,main是功能代碼,test是測試代碼,兩個文件夾中的java文件夾用於放置java代碼,resources用於放各類資源文件,demo.iml用於描述IDEA項目結構,接下來便是最關鍵的之前所說的pom.xmlExternal Libraries是擴展類庫。

 

 

我們打開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.vastsum</groupId>
    <artifactId>demo</artifactId>
    <version>1.0-SNAPSHOT</version>
</project>

xml配置是java項目的特色,這也標志着java很難脫離IDE工具,估計再厲害的人也記不住那么多的xmlnsxsi吧。

我們大致分析一下這個基本的pom.xml文件。首先,整個文檔的根節點是project,然后一個modelVersion指定這個pom.xml文檔所用的規范,然后便是三個之前見到的元素groupIdartifactIdversion

IDEA的右側會有一個Maven Project窗口。

 

 

 

五、引入依賴

接下來,我們引入Apache Common Math庫。我們可以到http://mvnrespository.com中搜索類庫,當然,在百度里搜索apache common math maven,第一個結果也是這個。

點擊下面的版本,就能獲取一個mavendependency的代碼。如下:

<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-math3 -->

<dependency>

    <groupId>org.apache.commons</groupId>

    <artifactId>commons-math3</artifactId>

    <version>3.6.1</version>

</dependency>

 

 

 

 

我們把這段代碼復制到pom.xml中,用dependencies包裹起來,此時IDEA便會在右下角有提示,點擊“import changes”,IDEA就會自動把所需要的依賴下載下來。

 

 

六、測試代碼

最后,我們來嘗試使用這個組件。

src/main/java中創建文件Mathlib.java

 

import org.apache.commons.math3.stat.descriptive.moment.Mean;

public class Mathlib {
    public static void main(String[] args)
    {
        double[] values = new double[] {3,4,66,34,12};
        Mean mean = new Mean();
        System.out.println(mean.evaluate(values));
    }
}

代碼很簡單,定義一個數組,調用Mean類的evaluate方法求這個數組的平均值。

執行,可得結果:

 

此處僅為說明maven已經成功地將dependency引入項目了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM