Maven是一個項目管理工具仁堪,它包含了一個項目對象模型 (Project Object Model)悍及,一組標準集合酗失,一個項目生命周期(Project Lifecycle)姐霍,一個依賴管理系統(tǒng)(Dependency Management System),和用來運行定義在生命周期階段(phase)中插件(plugin)目標(goal)的邏輯盯荤。當你使用Maven的時候馋吗,你用一個明確定義的項目對象模型來描述你的項目,然后Maven可以應用橫切的邏輯秋秤,這些邏輯來自一組共享的(或者自定義的)插件宏粤。
Ubuntu Maven安裝
-
Ubuntu 18.04系統(tǒng)下安裝過程如下脚翘,安裝前需確保
jdk8
已正確安裝。下載mavenyjf@yjf-vbox:~$ wget http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven- 3/3.6.0/binaries/apache-maven-3.6.0-bin.tar.gz
-
解壓縮至
/opt
目錄下绍哎,并建立軟連接便于后續(xù)升級yjf@yjf-vbox:~$ sudo tar -zxvf apache-maven-3.6.0-bin.tar.gz -C /opt/ yjf@yjf-vbox:/opt$ ln -s apache-maven-3.6.0 maven3
-
修改
/etc/profile
文件来农,增加以下兩行,并在增加完成后執(zhí)行命令使環(huán)境變量生效。export MAVEN_HOME=/opt/maven3 export PATH=$PATH:$MAVEN_HOME/bin yjf@yjf-vbox:~$ sudo source /etc/profile
-
運行
mvn -v
打印出如下版本信息表示正確安裝崇堰。Apache Maven 3.6.0 (97c98ec64a1fdfee7767ce5ffb20918da4f719f3; 2018-10-25T02:41:47+08:00) Maven home: /opt/maven3 Java version: 1.8.0_201, vendor: Oracle Corporation, runtime: /opt/jdk1.8.0_201/jre Default locale: zh_CN, platform encoding: UTF-8 OS name: "linux", version: "4.15.0-65-generic", arch: "amd64", family: "unix"
-
運行
mvn -v
命令后會在用戶家目錄下生成.m2
文件夾备图,拷貝$MAVEN_HOME/conf/setting.xml
文件至.m2
下,主要就以下三點修改該配置文件如下:<!-- 1)配置本地倉庫地址.根settings節(jié)點下新增 --> <localRepository>/home/yjf/.m2/repository</localRepository> <!-- 2)配置阿里云鏡像.在<mirrors></mirrors>節(jié)點下新增 --> <mirror> <id>nexus-aliyun</id> <mirrorOf>*</mirrorOf> <name>Nexus aliyun</name> <url>http://maven.aliyun.com/nexus/content/groups/public</url> </mirror> <!-- 3)配置jdk版本為1.8版本 在根節(jié)點<settings>節(jié)點下新增 --> <profile> <id>jdk-1.8</id> <activation> <activeByDefault>true</activeByDefault> <jdk>1.8</jdk> </activation> <properties> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion> </properties> </profile>
-
配置項目骨架文件赶袄,使用本地
catalog.xml
文件進行生成。解決使用mvn archetype:generate
創(chuàng)建項目時,經常會卡在[INFO] Generating project in Batch mode
階段問題抠藕。主要簡化配置以下兩類項目:-
simple java app
(簡單的Java項目)饿肺。 -
web app
(簡單的JavaWeb項目)
-
-
實現(xiàn)步驟如下:(假設倉庫地址為:
/home/yjf/.m2/repository
)<!-- 使用mvn archetype:crawl命令,它會在倉庫repository目錄下生成archetype-catalog.xml文件.--> <?xml version="1.0" encoding="UTF-8"?> <archetype-catalog xsi:schemaLocation="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-catalog/1.0.0 http://maven.apache.org/xsd/archetype-catalog-1.0.0.xsd" xmlns="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-catalog/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <archetypes> <archetype> <groupId>org.apache.maven.archetypes</groupId> <artifactId>maven-archetype-quickstart</artifactId> <version>1.0</version> <description>quickstart</description> </archetype> <archetype> <groupId>org.apache.maven.archetypes</groupId> <artifactId>maven-archetype-quickstart</artifactId> <version>1.1</version> <description>quickstart</description> </archetype> <archetype> <groupId>org.apache.maven.archetypes</groupId> <artifactId>maven-archetype-site-simple</artifactId> <version>1.1</version> <description>plugin</description> </archetype> <archetype> <groupId>org.apache.maven.archetypes</groupId> <artifactId>maven-archetype-webapp</artifactId> <version>1.0</version> <description>webapp</description> </archetype> </archetypes> </archetype-catalog> <!-- 1 這時再運行`mvn archetype:generate -DarchetypeCatalog=local`就可以快速的根據骨架創(chuàng)建項目. 2 更全的archtetype-catalog.xml 可以訪問:[http://repo1.maven.org/maven2/archetype-catalog.xml](http://repo1.maven.org/maven2/archetype-catalog.xml) -->