必须声明一个命名包eclipse,因为此编译单元与命名模块相关联

时间:2018-10-28 16:51:52

标签: java error-handling

昨天我刚刚下载了eclipse for Java,但是当我尝试制作自己的第一个程序时,我一直在遇到此错误:

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

我该如何解决?

3 个答案:

答案 0 :(得分:11)

只需在“项目浏览器”标签上删除 module-info.java

答案 1 :(得分:3)

错误原因:创建类时,程序包名称留空。这将使用默认软件包。从而导致此错误。

快速修复:

  1. 创建一个包,例如helloWorld文件夹中的src
  2. 移动该软件包中的helloWorld.java文件。只需拖放 包装。错误应该消失。

说明:

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

最新版本的 Eclipse 需要 java11 或更高版本。 module功能在java9及更高版本中引入。它是在2005年针对Java7提出的,但后来被暂停。 Java是面向对象的。模块是一种模块化的方法,可以用C之类的语言来表示。由于要花很长时间才能发布,因此很难实现。 来源: 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 :(得分:1)

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

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

  • 进行更加实际的应用; com.YourCompany.etc 或只是com.HelloWorld(项目名称:com.HelloWorld和类名称:HelloWorld)

  • 在创建Java项目时;在“创建Java项目”对话框中时,请选择“完成”,而不是“下一步”,然后取消选择“创建module-info.java文件”。