错误详情
项目maven部署的时候,报错
Could not find artifact com.mysql:mysql-connector-j:pom:5.1.40 in central (https://repo.maven.apache.org/maven2)
其中pom中是在最外层的项目的pom中的dependenceManagement里引入的,
<dependency>
<groupId>Mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.40</version>
</dependency>
然后在下面的dependenc里又引入的
<dependency>
<groupId>Mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
过程
一开始就以为这个版本是内网独有的,就去外网上搜版本,搜到的版本发现现在最新的是8.X.X的,后来又去https://repo.maven.apache.org/maven2网址下去看,也看到了这个版本号。但是就是从中央仓库拉不下来就很奇怪。
在网上搜可能是因为idea的设置(抽风),重启还有问题;通过本地仓库删除重下的方式也试了;
有人说,把management里的删掉,直接在外面写版本,也没有用;定位到mac的内置的maven setting也打算去改一下本地储存位置,看是不是复制粘贴的时候有默认引入的空格(但是其实也没有用,因为是idea自带的maven啊,我是没改过的,另外默认的位置就是.m2,其他的jar也是正常引入的)
解决办法
最后同事凑热闹看一眼说,会不会是你的groupID不对,你看在https://repo.maven.apache.org/maven2里的,这个文件夹是小写的啊。
我。。。。还真是。改完就好了
感悟
我花了好几个小时,结果是在这里这么小的错误,我真是想吐。天雷滚滚,脑瓜子嗡嗡的。。。无语死了。
现在想来,这个pom一开始是其他同事构建好的,从旧的内网项目考过来的,所以这个groupid可能就有对应的包,但是外面仓库的正常写法就是小写的,所以有这个问题。
我查了好多次的maven仓库和依赖的示例,一次都没看上面的,一直盯着看版本,真是,和之前看springboot依赖,只盯着版本,没注意上面的标签是dependence而不是parent,简直是一模一样。下次要都对一遍啊。以此为戒。
参考
maven中 Could not create local repository问题原因及解决方法
【已解决】pom.xml 依赖Dependency ‘mysql:mysql-connector-java:8.0.19‘ not found
Mac平台maven配置及idea中使用maven