在基于Maven的IntelliJ项目中查看非项目文件

时间:2019-05-14 23:13:02

标签: java maven intellij-idea

我们将Maven和IntelliJ用于许多多模块项目。我们进行了设置,使得根pom.xml文件是项目文件。开发人员在导入根pom.xml之后,可以自定义其项目的环境,但是我们不将IntelliJ项目置于源代码控制之下或以其他方式保存它们。当开发人员首次开始从事新项目时,她会导入根pom.xml并关闭并运行。

这种做法存在问题。我们的源树中还有其他文件,这些文件与Maven和构建Java工件没有直接关系,但我们希望在IntelliJ中查看和修改。这些不相关的文件不会显示在IntelliJ项目资源管理器中。如果我们拥有完整的不相关目录,则可以通过在项目基础上为项目添加额外的“内容根”定义来实现。但是,如果单个文件存在于源树的根目录或其他项目目录中,并且未被Maven构建过程使用,则它不会显示在IntelliJ中,并且您无法添加源的根目录树作为新的“内容根”。例如,树的根部有一个Jenkinsfile,Maven并不关心它,但是我们作为开发人员肯定会这么做。当前,我们必须在另一个代码编辑器中编辑此文件。

是否有一种好的方法可以使这些文件显示在IntelliJ项目视图中?理想情况下,我们希望有一种方法可以向pom.xml文件中添加内容,以使这些内容显示出来,或者被我们的构建忽略。如果需要的话,可以临时添加这些文件。我们找不到任何一致的方式来做到这一点。谁能告诉我们如何解决这个问题?

更新:我没有将IntelliJ项目文件存储在源树的根目录中。根pom.xml文件是不会产生任何结果的聚合pom。这是我的“项目”视图的样子:

My IntelliJ Project View

源树的根是entryfetch_if2,您可以在此处看到它的表示形式。 if2_all节点是我的IntelliJ项目文件所在的位置。

1 个答案:

答案 0 :(得分:1)

IntelliJ IDEA项目视图将显示位于项目根目录中父pom.xml旁边的文件:

multimodule

您可以get this sample project here

如您所见,父Maven聚合项目位于hello-world-ear目录的根目录中,在packaginghello-world-war目录中有2个子项目。 / p>

如果在项目根目录中添加Jenkinsfile,它将显示在项目视图中。

您是否使用其他具有不同结构的配置?如果是这样,请分享Minimal, Complete, and Verifiable example以获得帮助。