maven学习
由于之前一直都是用python相关的,java基础薄弱,计划在接下来一个月内重点补充java相关知识,今天主要学习了maven的 全局配置文件setting.xml文件相关内容。带着问题去了解具体的内容会相对而言更深刻。
问题1:maven 全局配置文件setting.xml文件的作用?
maven的配置文件settings.xml存在于两个地方:
-
1.安装的地方:${M2_HOME}/conf/settings.xml
-
2.用户的目录:${user.home}/.m2/settings.xml
前者又被叫做全局配置,对操作系统的所有使用者生效;
后者被称为用户配置,只对当前操作系统的使用者生效。
如果两者都存在,它们的内容将被合并,并且用户范围的settings.xml会覆盖全局的settings.xml。
Maven安装后,用户目录下不会自动生成settings.xml,只有全局配置文件。如果需要创建用户范围的settings.xml,可以将安装路径下的settings复制到目录${user.home}/.m2/。Maven默认的settings.xml是一个包含了注释和例子的模板,可以快速的修改它来达到你的要求。
全局配置一旦更改,所有的用户都会受到影响,而且如果maven进行升级,所有的配置都会被清除,所以要提前复制和备份${M2_HOME}/conf/settings.xml文件,一般情况下不推荐配置全局的settings.xml。
原文
链接:https://www.jianshu.com/p/a61b5ec61a2f
问题2:pom文件和settings文件的关系?
一个java项目通过maven自动下载依赖时,会涉级读取三个配置文件,分别是项目下的pom.xml 文件 、家目录下的.m2/settings.xml 与 maven 全局配置settings.xml ,后面两者不难理解,就像linux下的用户一样,有一个/etc/profile ,用户用目录下还有一个.bash_profile 文件是一样的,用户自定义配置会覆盖全局配置。所以
三者的级先是 pom.xml > /home_dir/.m2/settings.xml > /maven_dir/conf/settings.xml 。
Maven是什么?
Apache Maven是一个软件项目管理和理解工具。基于项目对象模型(POM)的概念,Maven可以从一个中心信息管理项目的构建,报告和文档。
Maven优点:
1.约定优于配置
2.测试支持
3.构建简单
4.插件丰富
maven配置相关
1、下载Maven
-
打开Maven官网下载页面:maven.apache.org/download.cg…
下载:apache-maven-3.5.0-bin.tar.gz -
解压下载的安装包到某一目录,比如:/Users/xxx/Documents/maven
2、配置环境变量
-
打开terminel输入以下命令:
vim ~/.bash_profile 打开.bash_profile文件,在次文件中添加设置环境变量的命令
export M2_HOME=/Users/xxx/Documents/maven/apache-maven-3.5.0
export PATH=$PATH:$M2_HOME/bin
添加之后保存并推出,执行以下命令使配置生效:
source ~/.bash_profile
3、查看配置是否生效
1、输入:mvn -v命令,输入如下:
Apache Maven 3.5.0 (ff8f5e7444045639af65f6095c62210b5713f426; 2017-04-04T03:39:06+08:00) Maven home: /Users/xxx/Documents/maven/apache-maven-3.5.0 Java version: 1.8.0_121, vendor: Oracle Corporation Java home: /Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre Default locale: zh_CN, platform encoding: UTF-8 OS name: "mac os x", version: "10.12.6", arch: "x86_64", family: "mac"
则配置成功。