在多模块项目中,这个(java: 模块循环不支持注解处理。请确保将循环 [...] 中的所有模块排除在注解处理之外)问题的产生是由于我们模块之间的依赖产生了循环导致,比如说:模块A依赖了模块B,而模块B又依赖的A。
想要解决这个问题,可以去检查一下报错中的 [...]里面的模块,然后去对应模块的pom文件看看里面有没有产生循环依赖,同时IDEA里面也提供了分析工具可以帮我们快速定位问题。
下面是使用IDEA检查:
1、在项目上点击右键,再点击分析里面的分析模块依赖关系。
2、这时右边会出现一个模块依赖框
3、右键点击项目wuqi,选择分析模块依赖关系
4、此时就会出现当前的项目的模块依赖关系,产生循环的会报红,把报红的点开就可以观察模块之间的关系,如下图所示(wuqi_support依赖了wuqi_sys_user,而wuqi_sys_user里面又依赖了wuqi_support导致产生了循环):
特殊情况:如果在检查pom无误后,还是报错,在有些情况下,可能是在maven刷新时会产生某些问题,比如说导入了模块A,又删除了模块A,但是模块A还存在于项目,所以尽管pom文件里面显示是没问题的,但还是报错模块循环。此时我们可以根据上面的模块分析进行排查,把pom文件里面没有的依赖,但在上面的模块分析里面却有的模块在项目没运行时进行(导入此模块刷新再导出此模块刷新)操作,这时就会发现它在模块依赖框里面消失了。