问题详细描述:删除maven父工程的一个子工程,然后再重新创建一个同名的模块,结果maven无法识别该新模块。
(1)先在项目下创建一个MAVEN模块
(2)可以看到这里是正常的,另外pom文件也可以正常导包。
Idea中删除子模块后再重建同名模块MAVEN无法识别_导包

 

 (3)接下来remove并delete这个子模块

先右键想要删除的module,选择remove module(这是idea为了避免误操作)

Idea中删除子模块后再重建同名模块MAVEN无法识别_maven_02

在remove module后,模块并未从项目结构中删除(磁盘中也依旧存在),但再次右击你会发现,出现了delete选择,选择delete选项就可以删除module了;

 

(4)按照上面的步骤创建一个同名的子模块

Idea中删除子模块后再重建同名模块MAVEN无法识别_导包_03

 

 

可以发现,没有自动标记工作文件夹,并且这时候的pom里写啥东西都没用了。

Idea会显示import过程,但是这个模块里无法使用pom文件里导入的包了。
问题现象会有:
导入依赖但是项目无法识别。
右侧maven工具栏显示本子模块为(root)。
resouces的application.yml无法识别为springboot的配置文件。
模块Main函数无法运行。
 
问题原因:
该子模块可能被忽略掉了。Idea创建子MAVEN模块再remove再delete,再次创建同名子MAVEN模块就会丢失资源文件夹和造成pom文件失效。
 
解决办法:
第一种:Idea菜单File -> settings -> 搜索maven -> ignored Files看看里面本子模块是不是被勾选了,去掉勾选即可。
Idea中删除子模块后再重建同名模块MAVEN无法识别_ide_04

 

 第二种:当你删除一个模块之后,这个模块名会被记录到.idea里的misc.xml里的ignoredFiles里,只需要把里边的option都删除。

Idea中删除子模块后再重建同名模块MAVEN无法识别_maven_05
用上面两种方式删除掉忽略项,然后再创建同名模块就不会出现问题了。
 
分类: JavaIdea