Maven安装、仓库配置、命令使用
Maven 是现在非常流行的 Java 项目依赖管理工具,简单、方便。Maven的安装也非常容易。
Maven安装
下载安装包
下载 Maven 安装包:https://maven.apache.org/download.cgi
1 | Linux:apache-maven-3.5.3-bin.tar.gz |
2020.03.11 补充
Maven 最新版本是 3.6.3 了。注意:3.6.2 版本与 IDEA 2019 存在版本不兼容的问题,会报错:Unable to import maven project,建议使用 3.6.1。
安装包解压
解压到安装目录
1 | tar zxvf apache-maven-3.5.3-bin.tar.gz -C /usr/local/maven |
设置环境变量
Linux
编辑 profile 文件,在文件底部添加 maven 环境的设置
1
2
3
4
5
6
7vim /etc/profile
输入下面内容:
#set maven enviroment
export MAVEN_HOME=/usr/local/maven
export CLASSPATH=$CLASSPATH:$MAVEN_HOME/lib
export PATH=$PATH:$MAVEN_HOME/bin刷新文件, 使立即生效
1
source /etc/profile
验证
1
2mvn -v
Maven 的版本信息表示成功。windows
右键【此电脑】 → 【属性】 → 【高级系统设置】 → 【系统属性】窗 → 【高级】选项 → 【环境变量】 → 【系统变量】 → 【新建】
1
2
\Program Files\apache-maven-3.5.3 :环境变量设置 Path
1
2编辑 Path, 增加 MAVEN_HOME 项, 如下:
%MAVEN_HOME%\bin验证:运行 → cmd
1
2mvn -v
Maven 的版本信息表示成功。Maven仓库
设置本地仓库
Linux 环境和 Windos 环境设置仓库的操作一样。
打开 maven 的设置文件
1
apache-maven-3.5.3/conf/settings.xml
设置本地仓库
在 setting 标签下找到 localRepository,取消注释,或复制另起一行,添加本地仓库所在路径
Linux:1
<localRepository>/data/repository</localRepository>
Windows:
1
<localRepository>D:\repository</localRepository>
设置阿里仓库
国内推荐使用阿里的 Maven 仓库,在 setting 标签下找到 mirrors 标签,在里面添加 mirror
镜像资源
1 | <mirror> |
使用代里仓库
如果想使用其它代理仓库,可在<repositories></repositories>
节点中加入对应的仓库使用地址。以使用 spring 代理仓为例:
1 | <repository> |
在你的 pom.xml 文件<denpendencies></denpendencies>
节点中加入你要引用的文件信息:
1 | <dependency> |
执行拉取命令:
1 | mvn install |
Maven命令
可以使用 mvn -h | --help
查看命令帮助。
mvn参数
命令参数 | 全量参数 | 描述 |
---|---|---|
mvn -v | –version | 显示版本信息 |
mvn -V | –show-version | 显示版本信息后继续执行Maven其他目标 |
mvn -h | –help | 显示帮助信息 |
mvn -e | –errors | 控制Maven的日志级别,产生执行错误相关消息 |
mvn -X | –debug | 控制Maven的日志级别,产生执行调试信息 |
mvn -q | –quiet | 控制Maven的日志级别,仅仅显示错误 |
mvn -Pxxx | –activate-profiles | 激活 id 为 xxx 的profile (如有多个,用逗号隔开) |
mvn -Dxxx=yyy | –define | 指定Java全局属性 |
mvn -o | –offline | 运行offline模式,不联网更新依赖 |
mvn -N | –non-recursive | 仅在当前项目模块执行命令 不递构构建到子模块 |
mvn -pl | –projects | 在指定模块上执行命令 |
mvn -ff | –fail-fast | 遇到构建失败就直接退出 |
mvn -fn | –fail-never | 无论项目结果如何,构建从不失败 |
mvn -fae | –fail-at-end | 仅影响构建结果,允许不受影响的构建继续 |
mvn -C | –strict-checksums | 如果校验码不匹配的话,构建失败 |
mvn -c | –lax-checksums | 如果校验码不匹配的话,产生告警 |
mvn -U | –update-snapshots | 强制更新snapshot类型的插件或依赖库 默认一天只会更新一次snapshot依赖 |
mvn -npu | –no-plugin-updates | 对任何相关的注册插件,不进行最新检查 基于本地仓库当前可用的所有插件版本 使用该选项使Maven表现出稳定行为 该命令已无效,仅保留用于向后兼容 |
mvn -cpu | –check-plugin-updates | 强制对插件进行最新检查更新 即使项目POM里指定了Maven插件版本 还是会强制更新。 该命令已无效,仅保留用于向后兼容 |
mvn -up | –update-plugins | [mvn -cpu]的同义词 |
mvn -B | –batch-mode | 以非交互(批处理)模式运行(禁用输出颜色) 当Mven需要输入时,它不会停下来接受用户的输入, 而是使用合理的默认值 |
mvn -f | --file <file> |
强制指定使用的POM文件 |
mvn -s | --settings <arg> |
用户配置文件的备用路径 |
mvn -gs | --global-settings <file> |
全局配置文件的备用路径 |
mvn -emp | --encrypt-master-password <password> |
加密主安全密码,存储到Maven settings文件里 |
mvn -ep | --encrypt-password <password> |
加密服务器密码,存储到Maven settings文件里 |
mvn -npr | --no-plugin-registry |
对插件版本不使用~/.m2/plugin-registry.xml (插件注册表)里的配置 |
mvn参数示例:
mvn clean install -e -U
:-e 详细异常,-U 快照强制更新-Pxxx
:指定 Profiles 配置文件,在 POM 文件添加 profiles 标签,xxx 为 profile 的 id。在非 Spring Boot 应用的情况下,可以通过 Maven profile 来构建不行环境的代码。
使用可参考 maven多profile 打包下 -P参和-D参数,使用maven的profile构建不同环境配置,maven profile动态选择配置文件,maven 最详细的 profile 的使用。
-DpropertyName=propertyValue
:向 Java 的 JVM 系统属性 Properties 中添加propertyName=propertyValue
属性。系统属性可以在
application.properties
或bootstrap.properties
中直接通过${
propertyName}` 取值例如,跳过测试:
mvn install -Dmaven.test.skip=true
。
mvn命令
Maven 安装完后,进入到项目代码根目录,就可以使用 mvn
命令来执行编译、打包、安装、发布、测试、清空的操作。
1 | # 删除 target 目录 |
IDE配置Maven
- IDEA:【File】 → 【Settings | Default Settings】 → 【Build,Execution,Deployment】 → 【Build Tools】 → 【Maven】 → 【Maven home directory】,选择 Maven 的安装目录;也可以手动选择和覆盖 settings 文件目录 和 本地仓库地址。
- Eclipse:【Windows】 → 【Prefrences】 → 【Maven】 → 【User Settints】 → User Settings,选择 Maven 安装目录里
/conf/settings.xml
文件
安装JAR包到本地仓库
有些 jar 包是私有的并没有发布到 Maven 公共仓库,提供的只有一个 jar 包文件,Maven 工程需要引入该文件,需要先将其安装到本地仓库才能被引用。
安装命令如下:
1 | mvn install:install-file -Dfile=jar包的位置 -DgroupId=输入groupId -DartifactId=输入artifactId -Dversion=版本号 -Dpackaging=jar |
安装成功后,就可以在 Maven 的本地仓库,根据 groupId 和 版本号找到安装的文件了。
Maven插件
Maven 插件 可以很好的辅助构管理和构建项目。
Spring Boot 项目若出现找不到 spring-boot-maven-plugin 插件,可在项目的 pom 文件里指定插件库或在 Maven 的 settings.xml 文件里统一设置。
项目 pom.xml 中添加:
1 | <pluginRepositories> |
Maven settings.xml 中添加:
1 | <profiles> |
Maven安装、仓库配置、命令使用
http://blog.gxitsky.com/2018/06/20/Maven-install-config-command/