簡介
Maven 翻譯為"專家"、"內(nèi)行",是 Apache 下的一個純 Java 開發(fā)的開源項目。基于項目對象模型(縮寫:POM)概念,Maven利用一個中央信息片斷能管理一個項目的構(gòu)建、報告和文檔等步驟。
Maven 是一個項目管理工具,可以對 Java 項目進行構(gòu)建、依賴管理。
Maven 也可被用于構(gòu)建和管理各種項目,例如 C#,Ruby,Scala 和其他語言編寫的項目。Maven 曾是 Jakarta 項目的子項目,現(xiàn)為由 Apache 軟件基金會主持的獨立 Apache 項目。
一、安裝
1.1 下載
從Maven官方地址:http://maven.apache.org/download.cgi下載最新版本apache-maven-3.3.9-bin.tar.gz。
1.2 將Maven添加進環(huán)境變量
Maven 下載完畢后,解壓到環(huán)境變量集合的位置,我是將其解壓在/usr/local/目錄下。
然后在終端中,執(zhí)行如下命令
# 我用的是zsh
sudo vim ~/.zshrc
# 如果是用bash
# sudo vim ~/.bash_profile
1.3 添加配置
export MAVEN_HOME=/usr/local/apache-maven-3.6.1
export PATH=${PATH}:${MAVEN_HOME}/bin
1.4 使環(huán)境變量生效
source ~/.zshrc
1.5 測試Maven是否安裝成功
mvn -version

二、使用
下面只介紹在IntelliJ IDEA中的使用
所需環(huán)境:Maven 3.6.1 、 IntelliJ IDEA 、 JDK 8
2.1 創(chuàng)建Maven 項目
命令行創(chuàng)建
mvn archetype:generate -DgroupId=com.companyname.bank -DartifactId=consumerBanking -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
參數(shù)說明:
-DgourpId: 組織名,公司網(wǎng)址的反寫 + 項目名稱
-DartifactId: 項目名-模塊名
-DarchetypeArtifactId: 指定 ArchetypeId,maven-archetype-quickstart,創(chuàng)建一個簡單的 Java 應用
-DinteractiveMode: 是否使用交互模式


然后創(chuàng)建信息如下,注意,上下兩個GroupId 跟 ArtifactId 因為我是分別創(chuàng)建不同的項目截的圖,所以不一致


附加的一個標準的 pom.xml 被生成。這個POM文件類似于 Ant build.xml 文件,它描述了整個項目的信息,一切從目錄結(jié)構(gòu),項目的插件,項目依賴,如何構(gòu)建這個項目等,請閱讀POM官方指南
在創(chuàng)建 POM 之前,我們首先需要描述項目組 (groupId), 項目的唯一ID。
<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>
<!-- 公司或者組織的唯一標志,并且配置時生成的路徑也是由此生成, 如com.companyname.project-group,maven會將該項目打成的jar包放本地路徑:/com/companyname/project-group -->
<groupId>com.companyname.project-group</groupId>
<!-- 項目的唯一ID,一個groupId下面可能多個項目,就是靠artifactId來區(qū)分的 -->
<artifactId>project</artifactId>
<!-- 版本號 -->
<version>1.0</version>
</project>
2.2 導入外部依賴
pom 導入外部依賴,https://mvnrepository.com/,



pom 修改如下
<?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</groupId>
<artifactId>chartboost</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.28</version>
</dependency>
</dependencies>
···
···
</project>
2.3 Maven 打包
導入外部依賴到 pom.xml 文件,進行java文件編寫后,即可將 Maven 項目打包

注意,在添加外部依賴到 pom.xml 文件后,需要在 IDEA 編輯器的右下角選擇 Enable Auto-Import,使依賴能自動導入
現(xiàn)在,我們將使用Maven這個項目,并輸出編譯成一個 “jar” 的文件。 請參考 pom.xml 文件,包元素定義應該包應該輸出什么。
/Users/wu/Work/youmi/Reverses目錄下運行
mvn package

它編譯,運行單元測試并打包項目成一個 jar 文件,并把它放在 project/target 文件夾,接著運行如下命令即可
# charboost 是 java 模塊名稱
java -cp target/charboost-1.0-SNAPSHOT.jar chartboost