其实这个问题比较蠢,但是当出现的时候还是比较懵圈,所以这里把排查问题的过程总结一下
1.为什么需要手动导入maven仓库依赖?
当我们在电脑没有翻墙的情况下去中央仓库下载依赖会非常非常的慢,而且很有可能 导致下载的包有问题,其实还是网络的问题,这个时候手动将jar包导入maven仓库就变得很快捷。
2.我在使用flink的redissink的时候遇到一些问题,就是我无法自定义ttl参数来控制键的过期时间,这样就需要将flink-connector-redis_2.11包完整的下载到本地,然后修改源代码,进行打包,发部到本地maven仓库,就可以使用,如果 你需要知道如何修改flink-connector-redis_2.11请去主页看我的别个文章。
3.好的之所以出现这样的问题,都是因为自己的基础不坚实
4.开始还原分析
上图可以看到我使用以下命令将flink-connector-redis_2.11打包到maven仓库的指定目录下
打包
mvn install:install-file -Dfile=./target/flink-connector-redis_2.11-1.2-SNAPSHOT.jar -DgroupId=org.apache.bahir -DartifactId=flink-connector-redis_2.11 -Dversion=1.1-SNAPSHOT -Dpackaging=jar
目录
/Users/luziyuan/Desktop/apache-maven-3.6.1/repo/org/apache/bahir/flink-connector-redis_2.11/1.1-SNAPSHOT/flink-connector-redis_2.11-1.2-SNAPSHOT.jar
当我去这个目录下寻找的时候也确实存在,但是IDEA中就说无法找到仓库中的flink-connector-redis_2.11-1.2-SNAPSHOT.jar这个文件,奇怪,为什么,我明明已经打包进去了。
然后仔细排查之后发现我IDEA指定的本地仓库地址居然是这样
在看maven指定的地址
<localRepository>/Users/luziyuan/Desktop/apache-maven-3.6.1/repo</localRepository>
我居然这样整整用了1年之久。。。。我将文件打包到Users/luziyuan/Desktop/apache-maven-3.6.1/repo下,IDEA却去/Users/luziyuan/.m2/repository去寻找打好的包,这怎么可能找到。
真的很蠢,不知道当时自己配置的时候是怎么想的,真是菜的可以,如果没有自己去打包jar发布到maven,可能一直不会发现吧
解决方案,将maven的config目录下的settings.xml文件修改 /Users/luziyuan/.m2/repository
然后重新下载依赖
mvn install
不报错了。。。
记笔记,记录自己犯蠢填坑的一天