【问题标题】:Can I create folder inside package in eclipse?我可以在eclipse中的包内创建文件夹吗?
【发布时间】:2013-11-26 22:02:04
【问题描述】:

我有项目,源文件夹“app”,在这个包里面我有包“models”。我可以在这个包中创建文件夹或任何其他类型的子目录吗?所以最终我会有类似的东西

-app
   -models
       -Folder1
           -file1
           -file2
       -Folder2
           -file3
           -file4

当我尝试强制在其中创建文件夹(通过单击新建->其他->文件夹)时,我无法向其中添加任何内容。

【问题讨论】:

  • 是Java的包结构吗?

标签: java eclipse


【解决方案1】:

一个包中的文件夹只是另一个包,所以你想要new->package然后输入app.models.folder1

【讨论】:

  • 我不能:/它在“应用程序”中创建它,并且不允许我将其推入。
  • 我不明白你的意思。如果 app 是您的 src 文件夹,models 是一个包,那么您应该能够创建子包。
  • 它不允许我这样做。如果我右键单击应用程序内的某个文件,然后选择新的,我无法选择包。如果我强制它,它会在“应用程序”中创建一个而不是视图。我不能将它拖到视图中(它会将光标更改为“不允许”)
  • 如果你想在一个新包中创建一个新类然后点击new->Class并输入新包名。你也可以点击new->package来创建一个新的包(文件夹)
  • 好吧,eclipse 不想让我这样做。
【解决方案2】:

在包中创建文件夹只是创建一个新包

例如文件夹结构

 - app
    - models

相当于封装app.models

将新文件夹 Folder1 添加到此结构中

例如

-app
  -models
    -Folder1

相当于包app.models.Folder1

【讨论】:

    【解决方案3】:

    包和文件夹在概念上略有不同。

    您通常将处理相同功能的类分组在同一个包中。例如核心类,您的应用程序的模型可以在 com.example.myapp.core 和 ui 类在 com.example.myapp.ui 。这些包在磁盘上以文件夹结构表示。

    在我看来,你不应该改变这个包结构来添加不是 Java 类的文件。我建议在您的应用树顶部添加一个resources 文件夹,以便将您的数据和类分开。

    但如果你只想添加子包,不要创建新文件夹,只需创建一个新包,例如app.models.Folder1.file1,你就会得到你想要的结构。

    你可以参考这个问题来了解更多关于包装约定:Are there best practices for (Java) package organisation?

    【讨论】:

    • 谢谢你,这有帮助。看起来 Eclipse 不允许实际将包放入包中,但我可以按照您建议的方式创建一个。
    • 因为文件夹和包不是一回事。包是对象编程(如 Java)中的一个概念,恰好由磁盘上的相应文件夹结构表示。
    • stackoverflow.com/questions/11772969/…这可能就是您正在寻找的答案
    【解决方案4】:

    默认包表示是平面。您想将其更改为 Hierarchical

    【讨论】:

    • 这是您正在寻找的答案。您可以创建另一个包,如果包表示是 Hierarchical ,这就是您得到上述场景的原因。
    猜你喜欢
    • 2015-12-28
    • 2011-10-31
    • 2015-08-10
    • 1970-01-01
    • 2021-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-06
    相关资源
    最近更新 更多