【问题标题】:must declare a named package eclipse because this compilation unit is associated to the named module必须声明一个命名包 eclipse,因为这个编译单元与命名模块相关联
【发布时间】:2019-04-01 16:48:13
【问题描述】:

我昨天刚刚下载了 Java 的 eclipse,但是当我尝试制作我的第一个程序时,我一直收到这个错误:

must declare a named package eclipse because this compilation unit is associated to the named module x. 

我该如何解决这个问题?

【问题讨论】:

    标签: java error-handling


    【解决方案1】:

    错误原因: 创建类时包名留空。这利用了默认包。从而导致此错误。

    快速修复:

    1. 创建一个包,例如。 helloWorldsrc 文件夹中。
    2. helloWorld.java 文件移动到该包中。只需拖放 包裹。错误应该会消失。

    说明:

    • 我的 Eclipse 版本:2020-09 (4.17.0)
    • 我的 Java 版本:Java 15, 2020-09-15

    最新版本的 Eclipse 需要 java11 或更高版本。 module 特性是在 java9 及更高版本中引入的。它于 2005 年针对 Java7 提出,但后来被暂停。 Java是基于面向对象的。而 module 是可以在 C 之类的语言中看到的 moduler 方法。它更难实现,因此发布需要很长时间。 来源: Understanding Java 9 Modules

    W当您在 Eclipse 中创建一个新项目时,默认情况下会选择模块功能。在 Eclipse-2020-09-R 中,会出现一个弹出窗口,要求创建 module-info.java 文件。如果您选择don't create,则module-info.java 将不会创建,您的项目将不会出现此问题。

    最佳做法是在创建项目时,在给出项目名称之后。单击next 按钮而不是finish。在底部的下一页上,它要求创建module-info.java 文件。根据需要选择或取消选择。

    如果选择:(默认)点击finish 按钮并为模块命名。现在在创建类时不要忘记提供包名。每当您创建一个类时,只需给出包名称。任何名称,不要留空。

    如果取消选择:没有问题

    【讨论】:

      【解决方案2】:

      “在 Project Explorer 选项卡中删除 module-info.java”答案是最简单、最直接的答案,但是

      对于那些希望一点了解或控制正在发生的事情的人,可能需要以下替代方法;

      • 制作一个更加真实的应用程序; com.YourCompany.etc 或者只是 com.HelloWorld(项目名称:com.HelloWorld 和类名称:HelloWorld)

      • 创建java项目时;在 Create Java Project 对话框中,不要选择 Finish,而是 Next,然后取消选择 Create module-info.java file

      【讨论】:

        【解决方案3】:

        只需在 Project Explorer 选项卡中删除 module-info.java

        【讨论】:

        • 为什么 Eclipse 一开始就强迫我们创建一个?
        • 赞成,尽管此解决方案有效,但对为什么删除它的小解释会有所帮助。
        • 删除这个文件就能解决很多问题哈哈
        • 为我工作谢谢:)
        • 刚刚删除了哈哈哈非常感谢你hh
        猜你喜欢
        • 1970-01-01
        • 2020-08-23
        • 1970-01-01
        • 2016-03-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-02-05
        • 1970-01-01
        相关资源
        最近更新 更多