运行我的第一个Java应用程序时出现InvalidModuleDescriptorException

时间:2018-07-02 09:52:26

标签: java eclipse compiler-errors

我已经开始学习Java,并在尝试运行如下所示的第一个程序时遇到问题:

public class HelloWorld {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
     System.out.println("Hello world!");
    }
}

在Eclipse Photon上,运行它时遇到此错误:

 Error occurred during initialization of boot layer
    java.lang.module.FindException: Error reading module: C:\Users\Thomas\eclipse-workspace\HelloWorld\bin
    Caused by: java.lang.module.InvalidModuleDescriptorException: HelloWorld.class found in top-level directory (unnamed package not allowed in module)

我看了看,bin目录中有我的.class文件,src目录中有我的.java。

那正常吗?我该如何解决?

5 个答案:

答案 0 :(得分:11)

似乎您尚未创建包。我在Eclipse中通常的过程是:

  • 创建新的Java项目
  • 在该项目中:创建一个新程序包
  • 在该程序包中:创建一个新的Java类

Eclipse将帮助您进行很多设置。然后只需将代码复制到该类中,然后点击“开始”按钮即可。

答案 1 :(得分:3)

通过删除在Eclipse中为我解决的模块类问题

答案 2 :(得分:0)

我将我的主类和sample.fxml文件移到了一个新的包中,该错误在下面抛出

”启动层初始化期间发生错误     java.lang.module.FindException:错误读取模块:C:\ Users \ Thomas \ eclipse-workspace \ HelloWorld \ bin     由以下原因引起:java.lang.module.InvalidModuleDescriptorException:在顶级目录中找到HelloWorld.class(模块中不允许使用未命名的包)“

我将我的类文件和fxml文件移动到了正常位置。它解决了我的问题。但我必须找出原因。欢呼...。

答案 3 :(得分:0)

我遇到了同样的错误。删除 module-info.java 文件即可为我解决。

答案 4 :(得分:0)

在 Eclipse 中为我解决了从另一个工作区执行项目。