如何在 Eclipse 上的包中制作子包?

Posted

技术标签:

【中文标题】如何在 Eclipse 上的包中制作子包?【英文标题】:How to make child packages in packages on Eclipse? 【发布时间】:2014-10-12 06:39:11 【问题描述】:

我最近开始在 Eclipse 上为 Minecraft Bukkit 插件编写代码,而且我一直都做得很好。最近,我一直在尝试将一个子包变成一个包,但是如果我尝试New > Package,那么它会将一个包与我的主包分开。我是初学者,所以请使说明简单。还有什么我可以尝试的吗?

【问题讨论】:

猜测:您正在查看带有平面演示的包视图。解决方法:点击向下箭头,选择包展示->分层 我认为它被称为“分层”。 @Zhuinden 是的,它是分层的。在“团队同步”中查看它是树 m( 既然你是初学者,请允许我这样的建议:Java 中没有子包。当然,有一种命名包的分层方式,但包本身永远不会处于任何层次结构中。这在考虑可见性规则时很重要。这也是 Eclipse 默认使用“平面”表示的原因。 从技术上讲是的,它更像是一个“嵌套包”而不是一个包,但即便如此,这些包是完全独立的。这就是为什么无论如何都需要使用 Ctrl+Shift+O 导入另一个包的原因。 【参考方案1】:

类似文件夹的层次结构是由 Java 中的包名称隐式创建的。假设您有一个包com.company,并且您想要该包中的子包。然后你必须创建一个名为com.company.product 的包。 不是通过在选择 com.company 时创建一个名称为 product 的包来完成的!

【讨论】:

【参考方案2】:

通常,如果您用点 (.) 分隔每个包组件,它应该创建中间条目。

尝试使用以下测试用例创建一个新包:

com.foobar.example com.foobar.test com.foobar.example.a

Eclipse 应该可以解决问题。

但是,如果您无法找到那些空包,也许您应该简单地使用Package Explorer 选项:Java filters 特别有用,并且可能默认启用一个选项来过滤/隐藏空包包。

您也有包装演示。

由于图像比长行文本更好:

    单击箭头打开演示选项(请参阅左侧的包资源管理器) Filters options 确实有可能隐藏空父包的过滤器。 分层包表示的行为类似于资源管理器左窗格。

【讨论】:

漂亮的视觉表现。找到了我要找的东西。谢谢【参考方案3】:

创建新包时,您可以通过简单地将父文件夹与子文件夹用点'.' 分隔来创建层次结构。所以如果你想创建一个foo.bar 的子包,你必须创建一个名称为foo.bar.myfoo 的包。 Eclipse 将完成剩下的工作。

如果您想将文件夹类型层次结构可视化如下:

您可以单击项目浏览器视图菜单左上方的小箭头,然后转到Package Presentation > Hierarchical。

【讨论】:

【参考方案4】:

对于 eclipse 版本:2019-03 (4.11.0) Build id:20190314-1200

我发现创建所需的包路径以及我希望在新包路径中存在的新类更容易。

Project Explorer 视图中,右键单击相应的项目以创建一个新类。

然后在类创建弹出窗口中,我根据需要填写相应的包字段以构建所需的新路径,以及位于该新路径中的新类。

【讨论】:

【参考方案5】:

对于 Eclipse 版本 2020-09: 要创建子包,我们可以直接进入 eclipse-workspace 和我们想要创建子包的包中,我们可以在其中创建一个新文件夹,然后单击右侧的三个点图标包资源管理器并选择包演示选项中的分层选项。然后我们可以刷新项目,新的子包就会体现出来。下面是图片供参考 Subpackage

【讨论】:

以上是关于如何在 Eclipse 上的包中制作子包?的主要内容,如果未能解决你的问题,请参考以下文章

使用eclipse创建包以及子包

Java eclipse中创建项目以后缺省包和命名的包有啥区别?

eclipse在包下新建子包

如何从 Spring Boot 应用程序中的所有子包中注册 bean?

将 .java 文件导入正确的包中

如何将所有3rdparty运行时依赖项包含在linux上的cmake / cpack生成的包中?