首页 > 解决方案 > 第二个源文件夹中的类的 Eclipse 启动配置失败

问题描述

我在 Eclipse 4.21.0(见下文)中创建了最简单的模块化项目,其中包含两个源文件夹和一个包。这两种main方法都只打印“Hello”。

Error: Could not find or load main class p1.Main2
Caused by: java.lang.ClassNotFoundException: p1.Main2

如果我检查生成的两个运行配置(Main1Main2),它们(表面上)是相同的,除了 Main 类的名称。如果我进入Main1启动配置并将主类更改为Main2,现在它可以工作了。因此 Eclipse 为顶部源文件夹生成了一个有效的启动配置,并为第二个源文件夹生成了一个损坏的启动配置。

为什么会这样,如何为其他源文件夹生成有效的启动配置?

在此处输入图像描述

细节

标签: javaeclipseconfiguration

解决方案


事实证明,这是2020 年 11 月 23 日针对 4.17 版报告的一个已知错误: Cannot launch class if module-info.java is in additional source directory

解决方法

如原始错误报告中所述,尝试修改损坏的配置并不能解决问题:

如果我编辑启动配置(即使我只是更改名称),我会在启动时收到以下错误:Error occurred during initialization of boot layer...

但是,可以为主源文件夹(module-info.java位于哪里)创建一个有效的配置,并修改配置以使用附加源文件夹中的主类,这将运行良好。


推荐阅读