我正在尝试在一个新项目中运行一些 java 文件。所以我制作了项目,将文件放入其中,然后我尝试运行主文件,以便我的游戏开始。
我收到一条错误消息selection does not contain a main type
。
我尝试了几种方法来运行它:
- 有人说要再次启动eclipse,试了十几次。
- 在其他地方有人指出要打开一个新项目并为旧项目创建构建路径。
也没有用。
我很确定它必须工作,因为我几个小时前在学校运行过它。我如何让这个工作?先感谢您!
我正在尝试在一个新项目中运行一些 java 文件。所以我制作了项目,将文件放入其中,然后我尝试运行主文件,以便我的游戏开始。
我收到一条错误消息selection does not contain a main type
。
我尝试了几种方法来运行它:
也没有用。
我很确定它必须工作,因为我几个小时前在学校运行过它。我如何让这个工作?先感谢您!
右键单击放置主类的文件夹,然后单击Build Path
--> Use as Source Folder
。
最后将您的主文件作为 java 应用程序运行。希望这个问题能得到解决。
如果“用作源文件夹”选项不可见,则在“构建路径”中选择“从构建路径中删除”选项。这将允许“用作源文件夹”选项出现在“构建路径”中。
其他答案都是有效的,但是,如果您仍然遇到问题,您的类可能不在 src 文件夹中,在这种情况下,Eclipse 可能不会将其视为项目的一部分。这也会调用您看到的相同错误消息。
我希望您尝试以这种方式运行主类,请参见屏幕截图:
如果没有,那么试试这个方法。如果是,那么请确保您尝试运行的类具有 main 方法,即与以下相同的方法定义:
public static void main(String[] args) {
// some code here
}
我希望这能帮到您。
我通过添加一个新的源文件夹并将我的 java 文件放入该文件夹中解决了这个问题。“源文件夹”不仅仅是我相信的任何文件夹。它是 java/eclipse 的一些特殊文件夹类型,可以通过右键单击 project -> properties -> Java buld path -> Source 添加到 eclipse 中并添加一个文件夹
Java 程序的入口点是方法:
public static void main(String[] args) {
//Code
}
如果你没有这个,你的程序将无法运行。
我遇到了同样的问题。我通过右键单击包 -> 属性 -> Java 构建路径 -> 添加文件夹(选择您的代码所在的文件夹)来修复。
几件事情要检查:
我正在从 Ubuntu 运行 Eclipse。有同样的问题并且能够通过终端运行程序。所以我只是将现有的移动public static void main(String[] args) {
到类声明的正下方(它被 eclipse 自动格式化),下一次启动成功了。然后将 main 方法移回原来的位置,这次它运行良好。
我在两个项目中遇到了这个问题。Maven 和命令行都按预期工作。这些问题是 Eclipse 特有的。两种不同的解决方案: 项目 1):将主方法声明移到类中的顶部,高于所有其他声明,如字段和构造函数。疯了,但它奏效了。项目 2):项目 1) 的解决方案没有解决问题。但是,删除 lombok 导入并显式编写 getter 方法解决了问题
结论:Eclipse 和/或 lombok 插件有/有一个错误。
右键单击 > 运行 AS > 运行配置
在此屏幕中,如果您的“主类”文本字段为空,则通过单击文本字段右侧的“搜索”按钮添加类名称并选择类文件。然后单击配置屏幕底部的“运行”按钮。而已
您必须将所有文件 (file.java) 放在根文件夹SRC下。
确保main
inpublic static void main(String[] args)
是小写。对我来说,当我使用大写字母时它不起作用。
如果您正在使用 Maven 项目,您必须了解目录布局有点不同的事实。在这个包名必须是src/main/java。
为此,通过右键单击项目根文件夹 -> 属性 -> java 构建路径 -> 源选项卡来更新您的源文件夹。此处删除所有其他源文件夹,因为它们可能以错误的方式添加。现在,选择项目 /src/main/java 作为源文件夹。添加并应用更改。现在使用 F5 刷新您的工作区。
这应该可以解决无法识别主要类型的问题。
将您的 Main Java 类文件放在src/main/java
文件夹中,然后通过右键单击项目并选择来检查“Java 构建路径”中是否没有任何错误Java Build Path->Source
。
保存文件时,请确保它具有扩展名 .java。如果没有,Eclipse 将不知道将其作为 java 文件读取。
我遇到了同样的问题,发现有一对额外的大括号(大括号)包含 public static void main(String args) { ... }。此方法实际上应该位于类的顶级范围内,并且不应包含在大括号中。在 Eclipse 中工作时,似乎最终可能会在此方法周围加上大括号。这可能只是您在使用 Eclipse 时看到此问题的一种方式。快乐编码!
在将图像添加到 Eclipse 中的项目并使其成为构建路径的一部分后,我反复发生这种情况。解决方案是右键单击包含该main
方法的类,然后选择 Run As -> Java Application。似乎当您将文件添加到构建路径时,Eclipse 会自动假定该文件是main
方法所在的位置。通过运行方式菜单而不是仅仅单击绿色的运行方式按钮,它允许您指定正确的入口点。
您还必须检查这一点,转到 Java 构建路径 -> 配置构建路径,检查 JRE 系统库 [Java SE -version] 是否已选中,再次尝试运行代码。这解决了我的问题。
我遇到了这个问题,因为我尝试运行的教程代码不在正确的包中,即使我在每个类的顶部输入了包名称。
我右键单击每个类,Refactor
并Move To
接受了包名称建议。
然后像往常一样,Run As
......Java Application
它奏效了:)
在我的例子中,我使用 ant 来执行构建,并且在 build.xml 文件中清楚地设置了类:
<target name="jar">
<jar destfile="ec-stats.jar" includes="bin/**,src/**">
<manifest>
<attribute name="Main-Class" value="my.package.MyStatistics" />
</manifest>
</jar>
</target>
但它仍然给我同样的错误,直到我右键单击 Eclipse 中的文件夹并选择Build Path
-> Use As Source Folder
。
另请参阅错误:选择不包含主要类型
解决了以下问题:
1.1)在“Java编译器”中:选择:“编译器合规级别:”到特定版本的JDK(在我的例子中,我选择了15)
1.2)在“Java Build Path”中,在“Libraries”选项卡的Modulepath中:将“JRE System Library”更改为您在上面的步骤1.1中选择的版本(在我的情况下,我选择了JDK 15)