67

我正在尝试在一个新项目中运行一些 java 文件。所以我制作了项目,将文件放入其中,然后我尝试运行主文件,以便我的游戏开始。

我收到一条错误消息selection does not contain a main type

我尝试了几种方法来运行它:

  • 有人说要再次启动eclipse,试了十几次。
  • 在其他地方有人指出要打开一个新项目并为旧项目创建构建路径。

也没有用。

我很确定它必须工作,因为我几个小时前在学校运行过它。我如何让这个工作?先感谢您!

4

22 回答 22

84

右键单击放置主类的文件夹,然后单击Build Path--> Use as Source Folder

最后将您的主文件作为 java 应用程序运行。希望这个问题能得到解决。

如果“用作源文件夹”选项不可见,则在“构建路径”中选择“从构建路径中删除”选项。这将允许“用作源文件夹”选项出现在“构建路径”中。

于 2014-04-11T23:41:32.603 回答
48

其他答案都是有效的,但是,如果您仍然遇到问题,您的类可能不在 src 文件夹中,在这种情况下,Eclipse 可能不会将其视为项目的一部分。这也会调用您看到的相同错误消息。

于 2013-09-20T02:11:37.970 回答
28

我希望您尝试以这种方式运行主类,请参见屏幕截图:
Eclipse 文件上下文菜单的屏幕截图

如果没有,那么试试这个方法。如果是,那么请确保您尝试运行的类具有 main 方法,即与以下相同的方法定义:

public static void main(String[] args) {
    // some code here
}

我希望这能帮到您。

于 2013-04-26T06:47:08.353 回答
5

我通过添加一个新的源文件夹并将我的 java 文件放入该文件夹中解决了这个问题。“源文件夹”不仅仅是我相信的任何文件夹。它是 java/eclipse 的一些特殊文件夹类型,可以通过右键单击 project -> properties -> Java buld path -> Source 添加到 eclipse 中并添加一个文件夹

于 2014-04-22T18:44:56.520 回答
5

Java 程序的入口点是方法:

public static void main(String[] args) {
    //Code
}

如果你没有这个,你的程序将无法运行。

于 2013-04-25T22:02:12.023 回答
3

我遇到了同样的问题。我通过右键单击包 -> 属性 -> Java 构建路径 -> 添加文件夹(选择您的代码所在的文件夹)来修复。

于 2014-09-01T17:30:45.383 回答
3

几件事情要检查:

  1. 有主包吗?你所有的课程都在这个包下吗?
  2. 您是否使用带有 public static void main(String[] args) 的主类?
  3. 你声明:包;在你的主要课程中?
  4. 您始终可以在运行项目之前对其进行清理。在 Eclipse 中 - 只需转到 Project -> clean 然后再次运行该应用程序。
于 2014-03-06T15:15:45.367 回答
3

我正在从 Ubuntu 运行 Eclipse。有同样的问题并且能够通过终端运行程序。所以我只是将现有的移动public static void main(String[] args) {到类声明的正下方(它被 eclipse 自动格式化),下一次启动成功了。然后将 main 方法移回原来的位置,这次它运行良好。

于 2015-12-30T18:47:53.857 回答
3

我在两个项目中遇到了这个问题。Maven 和命令行都按预期工作。这些问题是 Eclipse 特有的。两种不同的解决方案: 项目 1):将主方法声明移到类中的顶部,高于所有其他声明,如字段和构造函数。疯了,但它奏效了。项目 2):项目 1) 的解决方案没有解决问题。但是,删除 lombok 导入并显式编写 getter 方法解决了问题

结论:Eclipse 和/或 lombok 插件有/有一个错误。

于 2019-06-01T19:06:07.313 回答
3

看起来为时已晚,但可能会帮助某人,

遇到同样的问题,我通过以下步骤解决了它:::::

在 Eclipse 中选择 Main 类,然后单击菜单栏中的 Window,

Window-->Show view-->Select Outline

main(String[]):void然后右键Run As-->java Application

运行 Main 方法的图像参考

通过这样做,您可以直接运行 main 方法。这对我有用

于 2021-03-20T04:59:11.470 回答
2

右键单击 > 运行 AS > 运行配置

在此屏幕中,如果您的“主类”文本字段为空,则通过单击文本字段右侧的“搜索”按钮添加类名称并选择类文件。然后单击配置屏幕底部的“运行”按钮。而已

于 2019-03-04T05:32:05.360 回答
1

您必须将所有文件 (file.java) 放在根文件夹SRC下。

于 2014-02-28T16:47:06.557 回答
1

确保maininpublic static void main(String[] args)是小写。对我来说,当我使用大写字母时它不起作用。

于 2018-09-21T07:05:42.203 回答
1

如果您正在使用 Maven 项目,您必须了解目录布局有点不同的事实。在这个包名必须是src/main/java

为此,通过右键单击项目根文件夹 -> 属性 -> java 构建路径 -> 源选项卡来更新您的源文件夹。此处删除所有其他源文件夹,因为它们可能以错误的方式添加。现在,选择项目 /src/main/java 作为源文件夹。添加并应用更改。现在使用 F5 刷新您的工作区。

这应该可以解决无法识别主要类型的问题。

于 2019-08-14T05:03:30.640 回答
1

将您的 Main Java 类文件放在src/main/java文件夹中,然后通过右键单击项目并选择来检查“Java 构建路径”中是否没有任何错误Java Build Path->Source

于 2019-05-15T05:41:09.393 回答
0

保存文件时,请确保它具有扩展名 .java。如果没有,Eclipse 将不知道将其作为 java 文件读取。

于 2014-09-08T13:07:01.217 回答
0

我遇到了同样的问题,发现有一对额外的大括号(大括号)包含 public static void main(String args) { ... }。此方法实际上应该位于类的顶级范围内,并且不应包含在大括号中。在 Eclipse 中工作时,似乎最终可能会在此方法周围加上大括号。这可能只是您在使用 Eclipse 时看到此问题的一种方式。快乐编码!

于 2014-04-30T06:50:24.213 回答
0

在将图像添加到 Eclipse 中的项目并使其成为构建路径的一部分后,我反复发生这种情况。解决方案是右键单击包含该main方法的类,然后选择 Run As -> Java Application。似乎当您将文件添加到构建路径时,Eclipse 会自动假定该文件是main方法所在的位置。通过运行方式菜单而不是仅仅单击绿色的运行方式按钮,它允许您指定正确的入口点。

于 2014-05-26T05:42:38.383 回答
0

您还必须检查这一点,转到 Java 构建路径 -> 配置构建路径,检查 JRE 系统库 [Java SE -version] 是否已选中,再次尝试运行代码。这解决了我的问题。

于 2021-03-02T16:26:38.550 回答
0

我遇到了这个问题,因为我尝试运行的教程代码不在正确的包中,即使我在每个类的顶部输入了包名称。

我右键单击每个类,RefactorMove To接受了包名称建议。

然后像往常一样,Run As......Java Application

它奏效了:)

于 2020-06-29T19:21:09.910 回答
0

在我的例子中,我使用 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

在此处输入图像描述

另请参阅错误:选择不包含主要类型

于 2021-10-18T18:51:58.983 回答
0

解决了以下问题:

  1. 进入项目的属性
  • 1.1)在“Java编译器”中:选择:“编译器合规级别:”到特定版本的JDK(在我的例子中,我选择了15)

  • 1.2)在“Java Build Path”中,在“Libraries”选项卡的Modulepath中:将“JRE System Library”更改为您在上面的步骤1.1中选择的版本(在我的情况下,我选择了JDK 15)

  1. 运行包含 main 方法的 java 文件
于 2021-10-20T17:58:42.687 回答