maven 配置(cmd 黑窗口执行 mvn 时默认的 settings 文件和 idea maven 相关配置)

发布时间 2023-12-09 14:01:53作者: 想要翻身的咸鱼

写在前面:

本文章用于记录博主平时遇到的问题,步骤略粗糙,目的在于记录一边后续博主自己查找,如果能帮助到其他人更好。文章中用到的链接均为自行引入,侵删,谢谢(2I2Rc*@JY8)

问题说明:在一次使用 cmd mvn 命令通过下载到本地的第三方 jar 包(ojdbc8.jar)创建本地 maven 仓库的文件结构时发现:

mvn 命令默认使用的 settings 不是我自配置的 settings,在此记录

结论:mvn 命令默认使用的 settings 文件有优先级,优先 C:\Users\XXXXX\.m2\settings.xml 此文件,若此文件没有,则会根据环境变量的配置去找对应 maven 的 conf 文件夹下的 settings

结论未必正确,请自行确认

下面是解决过程:

1、我本地没有 C:\Users\XXXXX\.m2\settings.xml 文件,所以 mvn 去找了环境变量所配置的的 maven conf文件夹下的 settings

我本地环境变量 如图 1-1: 

图 1 -1

如图 1-2:我本地有两个版本的 maven,使用的是 363,但是 363 和 387 的 settings 文件我都有配置,其中 settings 文件设置分别如图 1-2,1-3

 图 1-2

图 1-2

 图 1-3

这是目前的配置情况

此前,我的 settings 文件时单独建立了个文件夹,然后根据版本分类放在里面

也就是说,之前 maven conf 下的 settings 都是默认的

原因找到

以上,我把子自配置的 settings 文件放到了对应版本的 maven conf 文件夹下,替换了之前的默认 settings,设置之后,再使用 mvn 命令就走了自配置的 settings

文件寻找过程:mvn 命令执行 ==> 找全局 settings(C:\Users\XXXXX\.m2\settings.xml) ==> 没找到,根据环境变量配置,找对应版本的 maven conf 文件夹下 的 settings(我的就是 363 版本下的 settings 文件)

2、以上,问题解决

我的方法不适用所有人,比如有的人是由全局 settings 文件的,你怎么改对应版本的 maven conf 文件夹下 的 settings也没有用

通过 mvn 命令可以查看到自己目前使用的 settings 文件,以及可以配置使用指定文件夹下的 settings 文件(详情参考:https://blog.csdn.net/nthack5730/article/details/82385124#:~:text=1.%20%E6%A3%80%E6%9F%A5%E5%BD%93%E5%89%8DMaven%E7%8E%AF%E5%A2%83%E5%90%AF%E7%94%A8%E7%9A%84%E6%96%87%E4%BB%B6mvn%20help%3Aeffective-settings2.%20%E6%9F%A5%E7%9C%8B%E5%BD%93%E5%89%8D%E9%A1%B9%E7%9B%AE%E7%9A%84pom%E9%85%8D%E7%BD%AE%EF%BC%8C%E5%8C%85%E6%8B%AC%E6%89%80%E6%9C%89%E4%BE%9D%E8%B5%96mvn%20help%3Aeffective-pom3.%20%E6%8C%87%E5%AE%9A%E4%BD%BF%E7%94%A8%E6%9F%90%E4%B8%AA%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%E6%89%A7%E8%A1%8CMaven%E5%91%BD%E4%BB%A4mvn,-s%20%26amp%3Blt%3Bfilepath%26amp%3Bgt%3B%20%26amp%3Blt%3Bgoal%26amp%3Bgt%3Bmvn%20-s%20~%2F.m2%2Fsettings_local.xml..._mvn%20help%3Aeffective-pom)

 

我这里配置的好处

1、settings 文件不会弄混,都在对应的版本文件夹下

2、不要 C:\Users\XXXXX\.m2\settings.xml 文件,需要使用另外版本的 mvn 直接修改环境变量到指定文件夹(1 中指定文件夹的 settings 已经都配置好,所以直接就可以用)

 

附注:idea maven 配置,idea settings 文件像配置谁就配置谁,不过记得把 use settings from .mvn/maven.config 勾上(默认就是勾选的),勾选了才会使用你这里配置的信息

 以上,(2I2Rc*@JY8)此文完结(2I2Rc*@JY8)