如何从Intellij Maven项目中永久删除模块?

我目前正在IntelliJIdea 12.1.6 Ultimate中进行一个更大规模的基于Maven的项目。我已经与IntelliJIdea合作了大约5个月。

包含的模块依赖于另一个模块。直到最近,依赖模块的源代码也是我项目的一部分。由于我从项目中删除了依赖模块,因此每当我尝试在没有maven的情况下编译源代码时,我都会收到编译错误。

Intellij中已删除模块的pom.xml似乎被放置在Setsetting->Maven->Ignored Files上。我似乎无法从那里删除它,只能选中或取消选中它。不可能再次包含该模块,因为IntelliJ会说它仍然在“忽略的文件”下。

2种方法允许我再次编译:从忽略文件中取消选中pom,这将在我的项目中再次包含该模块。或者删除依赖模块的源代码,这样我的项目将从 maven 存储库加载依赖模块。但是每当我从svn更新我的项目时,依赖模块的源代码就会恢复(我不知道为什么会发生这种情况,因为它不是我的项目的一部分),循环重新开始。

我用谷歌搜索了一段时间,因为它变得非常烦人。它成为几个排除模块的问题。我可以从头开始重建intellij项目,但由于进行了很多IntelliJ设置(与问题无关),我宁愿解决这个问题。

任何帮助是值得赞赏的,我想我一定错过了一些东西


答案 1

一位对maven有更深入了解的同事告诉我答案:

诀窍不是从 intellij 项目中删除源模块,而是将其从 maven 中删除(在 intellij 的 maven 项目选项卡中)。然后,Intellij 将要求从 intellij 项目中删除源模块,然后它最终消失了。

右键单击 maven 项目 ->删除项目

不会猜到这会产生这样的差异。


答案 2

以下两点中的任何一点是否适合您:

  • 新 在某个子模块中可能存在指向已删除项目的依赖项。为确保符合情况,您可能需要重命名$HOME/.m2 并重新生成项目。如果确实如此,只需在pom中搜索依赖项并将其从子模块中删除即可
  • 右键单击父级 -> Maven -> 重新导入pom.xml
  • 将项目复制到单独的目录中。文件 -> 导入项目 -> 选择新创建的目录 -> 选择 Maven?

PS. Idea在按照Maven项目维护项目结构方面非常出色。对 pom 进行更改后,需要重新加载项目。Idea还可以自动检测对您的更改并将其应用于项目。要启用此功能,请按 ,键入“maven auto”,选择“导入”,复选框“自动导入Maven项目”;pom.xmlCtrl+Shift+A


推荐