错误:在顶级目录中找到Main.class(模块中不允许使用未命名的程序包)

时间:2018-09-23 20:03:52

标签: java intellij-idea

尝试将应用程序更新为Java 11,并使用模块对地狱进行排序之后,我以为我摆脱了所有红色错误,现在我得到了一个我从未见过的错误:

enter image description here

环顾四周,我发现人们建议可以使用应用程序结构:

enter image description here

或module-info.java文件:

enter image description here

任何人都可以看到我需要做些什么来摆脱这种情况吗?

编辑: 将Main.java移至名为“ main”的程序包并尝试运行它后发生错误:

enter image description here

2 个答案:

答案 0 :(得分:1)

为了使JavaFx启动您的应用程序,它需要访问其主类,因此您需要导出主类所在的包。

将导出声明添加到module-info:

module Game.main {
    ...

    exports main;
}

答案 1 :(得分:-2)

如果将类移动到其他文件夹,则在类声明行之前,需要引用该类/应该位于的文件夹-告诉系统在哪里查找。例如:

//This line below is important
package main.java.main.Main;

public class Main extends Application {

    @Override
    public void start(Stage primaryStage) throws Exception {
    }
}