写在前面:
本文章用于记录博主平时遇到的问题,步骤略粗糙,目的在于记录一边后续博主自己查找,如果能帮助到其他人更好。文章中用到的链接均为自行引入,侵删,谢谢(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. 检查当前Maven环境启用的文件mvn help%3Aeffective-settings2. 查看当前项目的pom配置,包括所有依赖mvn help%3Aeffective-pom3. 指定使用某个配置文件执行Maven命令mvn,-s %26amp%3Blt%3Bfilepath%26amp%3Bgt%3B %26amp%3Blt%3Bgoal%26amp%3Bgt%3Bmvn -s \~%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)