Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。当你使用Maven的时候,你用一个明确定义的项目对象模型来描述你的项目,然后Maven可以应用横切的逻辑,这些逻辑来自一组共享的(或者自定义的)插件。
Ubuntu Maven安装
-
Ubuntu 18.04系统下安装过程如下,安装前需确保
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
目录下,并建立软连接便于后续升级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
文件,增加以下两行,并在增加完成后执行命令使环境变量生效。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节点下新增 --> <localRepository>/home/yjf/.m2/repository</localRepository> <!-- 2)配置阿里云镜像.在<mirrors></mirrors>节点下新增 --> <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版本 在根节点<settings>节点下新增 --> <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
创建项目时,经常会卡在[INFO] Generating project in Batch mode
阶段问题。主要简化配置以下两类项目:-
simple java app
(简单的Java项目)。 -
web app
(简单的JavaWeb项目)
-
-
实现步骤如下:(假设仓库地址为:
/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`就可以快速的根据骨架创建项目. 2 更全的archtetype-catalog.xml 可以访问:[http://repo1.maven.org/maven2/archetype-catalog.xml](http://repo1.maven.org/maven2/archetype-catalog.xml) -->
网友评论