【问题标题】:InvalidModuleDescriptorException when running my first java app运行我的第一个 java 应用程序时出现 InvalidModuleDescriptorException
【发布时间】:2018-12-10 12:25:38
【问题描述】:

我已经开始学习 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。

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

【问题讨论】:

  • 看起来像 Jave 9。你必须把类放在一个包中;
  • 在代码的第一行添加以下语句:package example;Eclipse 将显示错误。使用快速帮助并选择“移动...”

标签: java eclipse compiler-errors


【解决方案1】:

我遇到了同样的错误。删除 module-info.java 文件为我解决了这个问题。

【讨论】:

  • 这也解决了我的问题。
  • 很高兴我能帮上忙 :)
  • 不错的解决方案!谢谢,
  • 这个答案应该是绿色的勾号。谢谢
  • 虽然这个答案“解决”了错误。更好的解决方案是在 jdk 9 之后properly setup the module system
【解决方案2】:

看来你还没有创建包。我在 Eclipse 中通常的程序是:

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

Eclipse 将在设置方面为您提供很多帮助。然后只需将您的代码复制到该类中并点击“开始”按钮。

【讨论】:

    【解决方案3】:

    通过删除模块类问题在 eclipse 中为我解决了

    【讨论】:

    • 请在您的答案中添加更多详细信息。
    • 也为我工作过 module-info.class 在我的情况下位于 build/classes/ 在我的情况下。
    【解决方案4】:

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

    "启动层初始化时出错 java.lang.module.FindException:读取模块时出错:C:\Users\Thomas\eclipse-workspace\HelloWorld\bin 原因:java.lang.module.InvalidModuleDescriptorException: HelloWorld.class found in top-level directory (未命名的包不允许在模块中)"

    我将我的类文件和 fxml 文件移动到正常位置。它解决了我的问题。但我必须找出它发生的原因。干杯……

    【讨论】:

      【解决方案5】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-03-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-12-13
        相关资源
        最近更新 更多