最近在做一个分布式项目,这个问题困惑了我2天,今天总算是解决了。 网上搜到的方法都差不多,都不是我的问题都没法解决。试了老半天我知道我踩坑里去了。
1.通过编译找到报错的jar; 2.在 repository找到此jar,一般未下载完大小为1k我的是这样(); 3.删除未下载完全的jar,在项目上执行maven report会重新下载jar;
问题:---------- 不报错,import不了,但我新建了一个空项目自己去测试,发现空项目里可以import这个时候我察觉到不是下载的问题。
一直以为是什么版本冲突,jar包被搁置了,自己也排查了很久,最后解决通过的方式:
在Maven project找到我无法import 的jar所在工程,在父工程,通过 mvn clean 和mvn install,此时出错了我终于找到错误的地方在哪了,此时就比较顺利的complie一个问题出来就解决一个问题(程序都会提示的很清楚),我也不知道解决了好几个,当我解决了最后jar所需方法终于不爆红了。
解决了后面才搜到—原理应该是这个:
如果你有子项目引用了父项目的POM,但没有在父项目POM目录下执行安装操作(父目录下执行mvn install),这个问题就会出现。当一个子模块可能会依赖一个兄弟子模块而且去读取兄弟子模块的pom时,除非在父项目POM目录下至少执行一次安装,否则就会读取失败,即出现上述错误。
这里微服务工程的子模块之间尽量的不要去读取兄弟模块的pom,会有很多问题(可能最多的就是俩模块之间的依赖冲突)。但如果引用把被引用的子模块执行以下mvn install
新手的我总是踩坑,我菜鸡慢慢努力。
