那些年踩过的坑之 IDEA 导入多模块 maven 项目时部分模块未成功加载
昨天遇到了一个奇怪的问题,折腾了三个小时才解决。
idea 在导入一个多模块的项目时,部分模块未成功加载,maven 依赖也没有加载出来,导致项目无法启动。
看图说话,加载成功的模块和失败的模块,结构是不一样的
再来看下依赖加载情况,成功导入的模块是可以看到依赖的,导入有问题的模块只显示 Lifecycle
我还发现了一个问题,成功加载的模块,代码编译输入路径和加载失败的模块是不一样的
这是成功加载的模块编译输出路径,在模块自身目录下的 target 文件夹下;
而有问题的模块编译输出路径是项目根目录下的 taget 文件夹下:
我尝试了各种办法:
每次都删除了.idea 目录文件,重新导入项目,重复了十几次
删除用户目录下 appData 内的 idea 文件(我是 windows 电脑,)
安装其它版本的 idea
可惜全都没用。。。太难了,我都想放弃了,盯着电脑屏幕发呆了好一会儿,突然灵光一现,是不是导入的依赖有问题?是不是 gateway 模块的依赖引入有问题,因为 gateway 模块是最后改动的,而且在改动 gateway 模块之前,各个模块的导入是没有问题。于是,我把删除 gateway 模块的依赖,然后一个个添加,每添加一个依赖,就重新导入项目,终于让我逮住元凶了,原来是 spring-cloud-starter-loadbalancer 依赖未指定版本(我以为在父 pom 中指定了,其实没有),导致 pom 文件解析失败,影响到了 idea 正常加载模块。
虽然问题解决了,但我还是有个疑问,idea 为什么不提示依赖有问题呢,这个问题先留着吧,等以后时间了再研究。
版权声明: 本文为 InfoQ 作者【redcoder54】的原创文章。
原文链接:【http://xie.infoq.cn/article/248c4461065cd676608e0cd1a】。未经作者许可,禁止转载。
评论