【问题标题】:Why doesn't Eclipse always display folders and packages the same way in Eclipse Package Explorer?为什么 Eclipse 在 Eclipse Package Explorer 中不总是以相同的方式显示文件夹和包?
【发布时间】:2019-05-23 03:51:48
【问题描述】:

我不明白如何在 Eclipse 中创建文件夹和包,特别是在包资源管理器中。 Eclipse 似乎以不一致的方式创建和表示源文件夹和包。

这在很大程度上与使用标准文件夹结构(src/main/java、src/main/test 等)有关,然后在它们下面放置包。有时 Eclipse 会折叠文件夹,下面是包,如下所示:

而其他时候,这些文件夹相互嵌套,每个文件夹都是独立的。它不是单独的“src/main/java”条目,而是分别嵌套在“src”、“main”和“java”文件夹中。同样,有时它不显示包,但实际上显示单个文件夹。例如,它没有显示“com.pluralsight.model”,而是包含该包的嵌套文件夹,其中“com”、“pluralsight”和“model”是分开的。

现在我知道文件系统中的实际文件夹结构通常是单个文件夹(至少这是惯例,尽管您可以进行不同的设置),如文件资源管理器中的 spring_sample 文件夹结构:

但是,如果我在另一个普通的 Java/Maven 项目中创建一个 src/main/java 文件夹,然后尝试在该文件夹中创建一个新包,我无法在“新建/包”对话框中选择它,并且它在根文件夹中创建包,而不是在 src/main/java 下,并且它不会显示为包 - 它显示为单独的嵌套文件夹。我将调用该包的源文件放在哪里并不重要。见这里:

那么这里发生了什么?如何在 Eclipse 中创建我想要的空包,并让它们显示为折叠文件夹或像上面显示的“spring_sample”项目中的包?为什么它们有时会显示为单独嵌套的文件夹?

【问题讨论】:

  • 哇,这是一个快速的否定投票 - 想解释一下如何改进我的问题或它如何不符合问题标准?
  • “包”是“源文件夹”下的文件夹,其中包含 Java 类型(类、接口、枚举、注释...)
  • @Andreas 我明白这一点,但为什么 Eclipse 以不同的方式显示这些文件夹 - 并且不一致(例如,使用文件夹图标与包图标)?根据我的问题,为什么它们有时在 Eclipse 中显示为嵌套文件夹(特别是在包资源管理器中,而不是项目资源管理器中),而其他时候则不显示?
  • com.pluralsight.model 在树中显示为一个节点还是三个节点取决于您要求它如何显示它们。单击树形视图右上角的下三角,然后选择您想要的Package PresentationFlatHierarchical
  • src/main/java 显示这种方式是因为 java 文件夹是“源文件夹”。您的第二个项目似乎没有定义任何源文件夹。 --- 注意一个包有一个带有大加号的黄色方块图标,以及源文件夹如何有一个打开文件夹的图标,其中有一个包图标。还要注意srcmain 如何在第一个项目的末尾显示为普通文件夹,但java 在那里丢失,因为它显示为顶部的源文件夹。

标签: java eclipse package


【解决方案1】:

事实证明,您需要在 Eclipse 中配置您的源文件夹,方法是将它们添加到 Build Path,然后 Eclipse 会将它们显示为折叠状态并将其中的文件夹显示为包。这至少有两种方式:

  1. 在Package Explorer中右键点击文件夹(如src/main/java),选择Build Path -> Use As Source Folder。这会将该文件夹直接添加为源文件夹,并立即将其显示为“折叠”并将其下方的文件夹转换为包。

  2. 右击项目,选择Properties,然后点击Java Build Path。 Java Build Path 窗口右侧的顶部是几个选项卡。点击来源标签。点击右侧的添加文件夹按钮,选择您将用于存储源代码的文件夹。

注意:如果“项目属性”窗口中没有“Java 构建路径”选项,则该项目未配置为 Java 项目。您可以右键单击项目并在“配置”菜单中尝试一些操作,例如Convert Project to Faceted Form,然后在列表中选中Java 复选框。如果项目已经有 Java 代码/配置数据,您可以使用配置和检测嵌套项目来自动检测 Java。如果您使用的是 Maven,另一种选择是在该菜单中将其转换为 Maven 项目(因此它将有一个 pom.xml 文件)。

【讨论】:

    猜你喜欢
    • 2010-11-18
    • 2011-05-17
    • 2012-03-26
    • 2021-08-26
    • 2011-08-30
    • 1970-01-01
    • 2014-06-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多