在Eclipse中,是否可以将多模块Maven项目以层次结构的形式查看?

17
我想要一个单独的Maven模块(父POM)配置,它可以显示所有子模块在下面,但是在Eclipse中似乎无法正常工作。例如,打开类型(ctrl+shift+t)不起作用,因为Eclipse无法检测到父POM下的源文件。唯一的方法是将每个模块作为独立项目导入,父/子模块似乎只有这种方式才能正常工作。我们的父模块中有10多个子模块,如果我想在单个工作区中拥有多个父版本,则情况会变得更糟,因为所有子模块都会显示为项目。
6个回答

23
自从Eclipse 4.5版本以来,可以将多模块Maven项目显示为树形结构。要实现这一点,您需要将所有模块作为单独的项目导入,然后在“项目资源管理器”视图中点击“视图菜单”(三角形按钮),选择“自定义视图”,并在“内容”选项卡上勾选“嵌套项目”。这种树形表示在“包资源管理器”视图中不起作用,仅在“项目资源管理器”中有效。

Customize view for "Project Explorer"

Tree project structure


4
在 Eclipse 4.7.2 Oxygen 中,它位于“项目资源管理器”的“视图菜单”中,“项目演示”下的“分层结构”。 - liwevire

6
我将以下内容翻译为中文:

我是这样解决这个问题的:

在“项目资源管理器”下,点击“视图菜单”(小三角形),选择“过滤器和自定义...”

enter image description here

在“内容”选项卡下勾选“嵌套项目”。

enter image description here

最后,在“预设过滤器”选项卡下,勾选“嵌套项目:在显示为嵌套项目时隐藏文件夹”和“嵌套项目:如果显示为嵌套项目,则隐藏顶级项目”。

enter image description here

通过这样做,我得到了以下结构。

enter image description here


我忘了提到我使用的是Spring Tool Suite 3:版本:3.9.11。 - ankel
非常好!我只是导入了父项目,而不需要导入任何子项目。然后在更改为分层结构后,一切都正常了,子项目模块中的类可以在“打开类型”对话框中被发现。 - Magnus

6

如果有人正在寻找这个功能,以下是我用来获得层次化视图的方法。

在Eclipse中,点击“窗口”>“显示视图”>“项目资源管理器”。一旦进入项目资源管理器视图,点击下拉按钮,选择“项目表示方式”>“层次化”。

请参考此屏幕截图


3
经过大量的研究,包括尝试使用Netbeans进行类似的方法,但很遗憾这是不可能的。父POM被视为这样处理,每个模块需要作为“顶层”项目加载,以便IDE识别源代码。

2
请重新考虑已接受的答案,因为随着时间的推移,情况已经发生了变化。 - Mikhail Golubtsov

0
在父POM位置运行mvn eclipse:eclipse。进入Eclipse-->文件-->导入-->常规-->将现有项目导入工作区。它将把父项目和子模块作为单独的项目导入。

-1

好的,按照以下方式创建一个Maven文件夹结构

ManiProject,

模块1

Pom.xml </b>
Eg: '<project......
                 <parent>                               <artifactId>artifactIdMainProject</artifactId>
                <groupId>groupIdMainProject</groupId>
                 <version>1.0-SNAPSHOT</version>
                 </parent>'

....

   src 
        Main
        test

模块2 Pom.xml

    Eg: '<project......
                 <parent>                               <artifactId>artifactIdMainProject</artifactId>
                <groupId>groupIdMainProject</groupId>
                 <version>1.0-SNAPSHOT</version>
                 </parent>'

....

src
     Main
     test

模块 N

Pom.xml

Eg: '<project......
                 <parent>                               <artifactId>artifactIdMainProject</artifactId>
                <groupId>groupIdMainProject</groupId>
                 <version>1.0-SNAPSHOT</version>
                 </parent>'

....

   src 
        Main
        test

POM.xml

`例如:artifactIdMainProject

<groupId>groupIdMainProject</groupId></b>

<version>1.0-SNAPSHOT</version></b>

....

    <module> Module1 </module></b>

    <module> Module2</module></b>
               <module> ModuleN </module></b>

....

现在通过选择从源代码创建项目并提供代码路径,在Eclipse中创建一个项目,

然后配置构建路径,源选项卡中添加所有模块文件夹作为源代码。我认为这可以满足您的所有要求。


这有点违背了m2eclipse插件的初衷,不是吗?现在我必须手动配置源代码和快照依赖jar包。 - user4903
1
如果您不想做所有这些,您将不得不使用m2e插件在Eclipse中处理多个Java项目。 - Naresh M

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接