一.简介
最近单位要求把项目的仓库配置从阿里云改为nexus私服,配置了一个settings-nexus.xml的配置文件,idea的maven配置指定了该settings-nexus.xml文件,发现走的还是阿里云的,新的settings-nexus.xml竟然不生效,依赖无法上传到自己的nexus私服上。
二.排除
首先开下我们idea中maven的配置:
看一下,user settings file 和local repository 没有错,这属实有点诡异了,一头雾水。
一开始以为是因为idea的缓存,导致新的配置文件没有生效,于是在idea上点了invaildate cache,重新启动idea后发现还是不生效。
我得个乖乖,怀疑人生了,以为是setting-nexus.xml文件的内容写错,又去仔细看了下,确定也没错。
后面换成原本的名字为settings.xml的文件,发现又行了,那就有可能是加载的优先级的问题了,去官网看了下,还真有这个可能的问题。
截图如下:
截图的大概意思是:
settings.xml可能存在两个文件夹:
1、 Maven安装的地方:$M2_HOME/conf/settings.xml
2、 用户的目录:${user.home}/.m2/settings.xml
1是全局配置,2是用户配置。如果两者都存在,它们的内容将被合并,并且用户目录的settings.xml优先。
所以呢,加载的优先级如下:
①${user.home}/.m2 目录下读取 settings.xml
②${user.home}/.m2目录下不存在settings.xml时,从{M2_HOME}/conf 目录下读取
③idea界面里开发手动指定的settings.xml
三.解决方案:
按照从上一步中得到的结论,我试着优先从${user.home}/.m2 目录下读取 名字为settings.xml的文件,那我们就把原本那个settings-nexus.xml的文件名改为settings.xml,然后apply和ok。
截图如下:
最后再重新 maven deploy,这样就成功把以来上传到自己的nexus私服上了。
《被嫌弃的松子的一生》
-
小时候,谁都觉得自己的未来闪闪发光,不是吗?但是一旦长大,没有一件事会遂自己心愿。
-
要么伤心地长吁短叹,要么沉醉于悲伤中,要么草草的了结了一生,要么笑着搪塞过去,将错就错。
-
人的心灵是脆弱的,难以做到为自己恨的人祈祷。原谅不可原谅的人,并为之祈祷,这就是上帝的爱。
-
想要在这个世界上留下自己活过的证据,因为好不容易生而为人。
《罗生门》
-
沾沾自喜者只管自喜就是,但就别人说三道四则属多管闲事。
-
较之希望得到什么,我们更多是同"能够"得到什么达成妥协。
-
撒谎是人之本性,在大多数时间里我们甚至都不能对自己诚实。那是因为人们太脆弱了所以才撒谎,甚至是对自己撒谎。
《这个杀手不太冷》
-
我所认为最深沉的爱,就是我把自己活成了你的样子。
-
事情总是这样的,只有当你真正感受到对死亡的恐惧,你才会学到要珍惜生命。
-
有些爱,也许从未说出口,才愈加显得珍贵。