关于idea导入maven工程(包括聚合工程)出现大面积报错的解决
idea导入maven工程出现大量错误,包括聚合工程中,导入后,出现pom.xml中定义的版本管理,在其他的模块中的pom.xml中出现错误
原因是导入的仅仅是一个maven项目,单是还不是一个聚合工程,可以查看右侧的maven发现刚导入的时候是只要一个父工程的,如下图,你也可以通过,项目的结构来查看
查看项目的结构如下
通用刚导入的时候是只要一个parent父工程
那么这个时候就需要我们手动的来将所有的module一个一个添加进来,方法如下:
选择父工程下的子模块,一个一个的添加
直到所有的module都添加进来以后,点击ok,如果此时点击ok报错了,那就直接点击取消,项目还是会加进来的,不用理他
在查看的时候就可以看到所有的模块都添加进来了
接下来需要将resources进行标记为资源文件(如果不进行标记会报错):方法有两种
方式一:在项目结构中将resoures进行标记,一个一个标记
方式二:用下图进行一个一个的标记
选择resoures文件夹鼠标右击:
找到下图的:
直到文件夹出现一个小书栏的图标就ok了
同时最好将resources资源目录的文件夹都标记一下:
其标记之后的文件如下:
标记的原因是:我之前没有标记,在配置扫描mapper接口的包的时候,idea直接点击到的位置是这个resources中的文件夹,导致,项目启动后访问一直报错:Invalid bound statement (not found),当时查看编译之后的文件,没有问题,接口文件和这个xml文件都copy到了一起了,就一直很纳闷,原来是这个问题
原因就是:接口所在的文件夹和这个xml所在的文件夹在用一个(也要求同一个),而又没有标记为排除,导致idea以为你的扫描的是resources中的文件,注意这个扫描不是扫描编译之后的
如果不是导入的maven项目,而是新建的maven项目就没有这个问题了
如果子模块的pom.xml中版本管理的jar还是报错,就在父工程中将版本管理的标签先暂时注释掉,让maven加载/下载依赖
最后更新maven工程,整个maven工程/聚合工程就不会报错了,就可以运行了,搞定,(* ̄︶ ̄)!