博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
查看maven仓库配置最终生效地址和settings.xml配置优先级
阅读量:4251 次
发布时间:2019-05-26

本文共 1462 字,大约阅读时间需要 4 分钟。

主要参考: https://stackoverflow.com/questions/5916157/how-to-get-the-maven-local-repo-location

1. 如果是只需要查看本地仓库配置最终生效目录地址的话可以使用如下命令:(注意用于linux系统,在windows下去掉 | grep -v '\[INFO\]' 执行,不然会提示'grep' 不是内部或外部命令,也不是可运行的程序或批处理文件。)

mvn help:evaluate -Dexpression=settings.localRepository | grep -v '\[INFO\]'

2. 在运行maven命令时,添加-X 或者 -debug参数(注意区分大小写)

mvn -X

会打印出相关结果

3. 使用如下命令可以查看当前Maven环境启用的文件(注意:首次使用开始会下载jar包,这很正常)

mvn help:effective-settings

这里的 <localRepository>D:\softs\maven\mvnRepository</localRepository>

就是我的本地仓库

注意:窗口乱码情况可以通过添加环境变量

或者在执行文件配置set MAVEN_OPTS=-Xms128m -Xmx512m -Dfile.encoding=UTF-8

如果你没有做任何特殊配置的话,从Maven中心仓库下载到本地的jar包的默认存放在”${user.home}/.m2/repository”中,也可以修改settins.xml,自定义仓库目录

4.查看当前项目的pom配置,包括所有依赖

mvn help:effective-pom


  由于依赖比较多,所以只截取了前后两部分

5. 指定使用某个配置文件执行Maven命令(这个就不截图)

mvn -s 
mvn -s ~/.m2/settings_local.xml clean deploy

6. 检查环境(结合下面两个命令)

# 查看当前项目的所有mvn配置mvn -X# 打印所有可用的环境变量和Java系统属性mvn help:system

7. 查看当前处于激活状态的profile

mvn help:active-profiles

settings.xml文件是干什么的,为什么要配置它呢?

从settings.xml的文件名就可以看出,它是用来设置maven参数的配置文件。并且,settings.xml是maven的全局配置文件。而pom.xml文件是所在项目的局部配置。
Settings.xml中包含类似本地仓储位置、修改远程仓储服务器、认证信息等配置。

settings.xml文件位置

settings.xml文件一般存在于两个位置:

全局配置: ${M2_HOME}/conf/settings.xml
用户配置: user.home/.m2/settings.xmlnote:用户配置优先于全局配置。

{user.home} 和所有其他系统属性只能在3.0+版本上使用(请注意windows和Linux使用变量的区别)。

配置优先级

需要注意的是:局部配置优先于全局配置

配置优先级从高到低:pom.xml> user settings > global settings
如果这些文件同时存在,在应用配置时,会合并它们的内容,如果有重复的配置,优先级高的配置会覆盖优先级低的。

你可能感兴趣的文章
Python笔记:对文件的读写操作
查看>>
Python笔记:详解使用Python列表创建ndarray
查看>>
Typescript 中的类的应用
查看>>
Python笔记:NumPy中的布尔型索引使用举例
查看>>
Python笔记:NumPy 中的集合运算举例: 查找共同元素,差异元素和共有元素
查看>>
Python笔记:访问或修改 Pandas Series 中的元素以及相关运算
查看>>
Python笔记:Pandas DataFrames 的使用
查看>>
Python笔记:在Pandas中处理NaN值
查看>>
Python笔记:初识Matplotlib和Seaborn
查看>>
Typescript 中的接口的实现
查看>>
Typescript中的泛型的使用
查看>>
JavaScript中使用offset时遇到的bug
查看>>
java基础入门(一)
查看>>
Java基础入门(二)
查看>>
Java基础入门(三)
查看>>
Java基础入门(四)
查看>>
Java基础入门(十)
查看>>
Java基础入门(完结篇)
查看>>
Java进阶之面向对象(一)——继承
查看>>
Java进阶之自定义ArrayList&斗地主发牌案例
查看>>