Eclipse 错误“找不到或加载主类”

Posted

技术标签:

【中文标题】Eclipse 错误“找不到或加载主类”【英文标题】:Eclipse error "Could not find or load main class" 【发布时间】:2014-11-18 03:31:43 【问题描述】:

我知道这个问题有很多重复,但我都看过了,都没有解决问题。

我正在尝试运行一个具有主要功能的类。我已经清理了项目,检查了“。”的类路径,将 bin 文件夹添加到运行配置下的类路径中。我不确定还能尝试什么,因为该类肯定在源文件夹中。

有人可以帮我解决这个问题吗?

package testIt;

public class MemoryVisualizerApp extends Application

public static void main(String[] args) 
    launch(args);


//Setup the scene and launch with given properties
@Override
public void start(Stage primaryStage) throws IOException
    Parent root = FXMLLoader.load(getClass().getResource("/MemoryVisualizer.fxml"));
    Scene scene = new Scene(root, 650, 300);
    //Set whether the screen should be re-sizable (possibly best size = default)
    primaryStage.setResizable(true);
    primaryStage.setMinHeight(300);
    primaryStage.setMinWidth(550);
    primaryStage.setTitle("Memory Usage");
    primaryStage.setScene(scene);
    scene.getStylesheets().add("testIt/MemoryVisualizer.css");
    primaryStage.setOnCloseRequest(new EventHandler<WindowEvent>() 
    
        public void handle(WindowEvent e)
              /*Currently the threads continue running after window is closed. Looking for
              a way to stop the app threads when window closed without stopping the program.*/
        
    );
    primaryStage.show();
    primaryStage.show();



此代码位于一个包中,位于 src 文件夹中。它使用了一些未显示但不应该成为问题的 JavaFX 文件。

这是错误: 错误:无法找到或加载主类 testIt.MemoryVisualizerApp

【问题讨论】:

您是右键单击具有main() 方法的类并单击“作为Java 应用程序运行”,还是右键单击项目?不过,在后者中,它应该使用 main() 方法建议所有类。 你的main()方法是静态的吗? 您是如何尝试运行我们的代码的?我们能看到它放在哪里以及它的样子吗? @watery 是的,我尝试通过右键单击类并作为 java 应用程序运行来运行代码。是的,主要方法是静态的。添加了代码。 当您尝试运行程序时,我们能看到错误消息是什么吗?还有launch()函数? 【参考方案1】:

如果您遇到类似的问题,这与“运行配置”在 Eclipse 中无法正常工作有关。

请右键单击包含 main 方法的 java 类。转到 Run As-> Run Configurations 并放置正确的参数。项目应该是包含主类的项目,主类应该是完全限定的类名。见为了清楚起见,下面的快照应该很好。基本上,您正在创建一个运行配置,您也可以使用该保存的配置供以后使用。

【讨论】:

不幸的是,这不起作用。这些设置已经设置好了,但它仍然给我它无法找到/加载主类的错误。 @GBoggs 在运行 java 类时,您必须选择新创建的配置,然后单击从配置中运行 @GBoggs Eclipse 有时会继续使用旧配置运行 Java 类。我想只需单击 Java 类中的 Run 方法将无济于事 我用新的配置试了一下,还是不行。奇怪的是,我的项目图标显示了一个红色的 X(表示错误),但在我的代码中没有发现任何错误。 @GBoggs 你为什么不从你的 Eclipse 中发布快照?它会让问题更清楚【参考方案2】:

如果所有解决方案都不适合你,可能是缺少库引起的:

    右键单击您的项目,Build Path --&gt; Configure Build Path --&gt; Java Build Path --&gt; Libraries 删除缺少的库 转到您的主类并运行它

【讨论】:

【参考方案3】:

我也遇到了同样的问题。

简单的解决方案是:删除项目(请不要源文件)。关闭 Eclipse--> 进入项目文件夹--> 删除类路径和项目文件。

然后打开 Eclipse 并在同一位置创建项目

【讨论】:

【参考方案4】:

我已经检查了所有可能的解决方案,包括重新安装 JDK、eclipse,因为它适用于很多人,但不幸的是它对我不起作用。 还更新了 pom.xml 中的主类,但没有帮助。 它带走了我的睡眠。我正在尝试不同的选项,当我选中此复选框时,突然神奇的事情发生了。这可能对许多想分享的人有所帮助

【讨论】:

最后,这对我有用,谢谢!。即使我不知道它是如何解决的。如果有人有任何意见,请分享【参考方案5】:

尝试将.classpath文件中的classpathentry输出路径​​指向target/classes 类路径文件位于项目文件夹中。手动编辑。

就我而言,以前是这样的:

classpathentry kind="输出" path="bin"

我改成:

classpathentry kind="output" path="target/classes"

【讨论】:

【参考方案6】:

你应该添加bin文件夹-运行->运行配置选项卡类路径高级按钮-添加文件夹-选择bin文件夹(yourproyect/bin)

【讨论】:

【参考方案7】:

按照以下步骤操作:

1) 删除您当前的运行配置。 2)进入主类,鼠标右键运行-->Run As-->Java Application。

然后您将看到自动生成的新运行配置。

【讨论】:

【参考方案8】:

我遇到了同样的问题。 我有一个 Maven 项目。据我所知,这是因为我已经清理了项目并且没有生成类文件。 我做了 mvn compile,它开始运行了。

【讨论】:

【参考方案9】:

我遇到了同样的问题。就我而言,我执行了以下操作来解决它。

    在 Eclipse IDE 中选择项目,右键单击,打开属性对话框。 选择“属性”对话框左侧面板上的“Java Build Path”项。 选择右侧面板上的“库”选项卡。 删除标记为红色的库(jar),或修复路径。 保存属性对话框。 删除“未找到”库后,Eclipse 运行/调试开始工作。 “未找到”消息也将显示在“问题”窗格中。 您可以使用 Window->Show View->Problems、命令序列打开它。 此窗格为您提供有用的消息。许多人可能会看到相同的消息 原因,除了我遇到的。

观察:在我的案例中,classes 目录没有被创建,这意味着 javac失败了。在命令行上,javac 的工作方式也是一样的,如果在同一次 javac 调用中有多个 java 文件,并且一个 java 文件遇到问题,则不会创建类文件。

这意味着 Eclipse 通过一次 javac 调用将所有 java 文件放入项目中。

现在,如果没有生成类文件,显然,该消息现在是有意义的。 编译错误也显示在“问题”窗格中。

如果出现编译错误,就会出现这种情况。 如果只是一个根本不使用的 jar 文件在类路径上,那么应该没有任何问题。

即使我的项目有问题,我也忽略了它,因为我只是测试一个类,并且认为只有那个文件会被编译和运行,因为它是一个独立的测试,没有任何依赖关系。

但 Eclipse 并非如此。我希望他们那样做。正如你所看到的,很多人都是这样被烧死的。

谢谢

【讨论】:

【参考方案10】:

我也遇到了同样的问题,并且收到“错误:无法找到或加载主类....”

我是这样解决的:

    右键单击我的 Java 主类 > 运行方式 > 运行配置。

    在结果弹出框和在 Java 应用程序下,您的 java 文件名将被选择模式...如果不选择它

    在同一框的右侧和 Classpath 选项卡下 清除所有引导和用户条目(如果有)

    在引导条目下单击高级按钮 > 选择添加库单选并单击确定。在下一个“添加库”框中选择 JRE 系统库并提供正确的 JRE 位置,然后单击完成。 (如果它不可见,那么您必须通过单击 Installed JRE > Add 按钮来添加它)。现在您可以在 BootStrap Entries 下看到 JRE 系统库

    下一个用户条目>单击添加项目按钮>然后在项目选择框下选中您的项目名称>确定

主 java 文件现在应该可以工作了。希望这可以帮助遇到类似问题的人。

【讨论】:

【参考方案11】:

我遇到了同样的问题,我无法使用 main() 方法启动任何项目。

我几乎尝试了上面提到的所有方法,但结果是我的 pom.xml 文件中有一个小错误。

你也可以查看这个文件!

【讨论】:

小错误是什么?【参考方案12】:

我刚刚遇到了和你一样的问题,我按照 Kumar 的指示进行了操作,结果解决了。要添加的一件事:您需要确保在转到正确的主类后,检查“类路径”并且您的项目名称应该存在于“用户条目”下。如果没有,请将您的项目添加到目录中,然后您就可以开始了。

【讨论】:

【参考方案13】:

删除 JRE 系统库并添加默认的对我有用。

【讨论】:

【参考方案14】:

遇到同样的问题,苦苦挣扎了一阵子:找不到主类。

我做了项目 -> 清理 -> 清理所有项目

清理一切,tada,编译!

【讨论】:

【参考方案15】:

我收到了同样的消息,我解决了从 pom.xml 中移出两个名为“org.slf4j”的依赖项的问题。之后就完美运行了!

【讨论】:

【参考方案16】:

我也收到相同的消息。这是由于工作区问题。创建一个新工作区并在那里尝试一次。我认为它会起作用。

【讨论】:

【参考方案17】:

尝试首先在“问题”窗口中检查您遇到的错误。这很可能是它。然后在 Order and Export 下的 Configure Build Path... 窗口中检查 jar 和库中的错误(缺失、重复等)。

解决问题将解决类加载问题。

【讨论】:

【参考方案18】:

我今天遇到了同样的错误,我重构了我的项目名称,然后将它重构回了旧名称,之后它运行得很好。

【讨论】:

【参考方案19】:

我有同样的问题,但在我的情况下,防火墙阻止了 java 目录路径,请确保系统防火墙允许 java 目录路径访问。

【讨论】:

【参考方案20】:

我在这里遵循了几个不太激烈的建议,但无济于事。然后我突然意识到 Eclipse 很困惑,因为我制作了 src 项目文件夹的备份副本。 (它正在编译所有这些“副本”文件夹的 *.java 文件,我注意到它们在我的 bin 文件夹中的子文件夹。)我将备份移到其他地方,摆脱了无关的类文件,执行了 Project > Clean,然后一切恢复正常。

【讨论】:

【参考方案21】:

通常从 Eclipse 清理和重建项目就可以了。

但是,当使用 Maven 时,我发现有时这不起作用,并且我注意到我的 maven 项目的“目标”文件夹下没有任何内容。从命令行运行'mvn clean install'并在eclipse中刷新项目就可以了。

【讨论】:

【参考方案22】:

我遇到了同样的问题。在以下许多情况下,您可能会收到此错误。

您的 pom.xml 中存在一些依赖问题 运行配置可能没有正确配置。您可能想要删除现有的,然后按照其他答案中的建议创建新的。 您可能想尝试mvn cleanmvn build 和其他选项。 您可能需要删除项目并重新导入。 您可能需要重新启动 Eclipse 并检查您的运气是否正常。

在这里,命中和审判的清单还在继续。相信我,Eclipse 工具并没有那么愚蠢。即使在编译时发现错误也很聪明。我尝试了上面提到的所有方法,但没有一个对我有用。

对我有用的主要问题是 JRE 版本,不知何故被设置为默认值(JRE 系统库 [jre1.5])。我将其重置为已安装在我的机器中的 jre1.8.*

我不承诺这只是解决此问题的方法,但是是的,这可能是解决方案之一。所以请留意JRE版本

【讨论】:

【参考方案23】:

我遇到了类似的问题,我的独立 java 程序无法运行。我在其他不相关的 java 文件中的工作区中有其他编译错误。删除所有编译错误后,我可以运行我的独立 java 程序。

【讨论】:

【参考方案24】:

我遇到了类似的问题,解决方法是打开一个终端,转到项目文件夹并运行

java cp target/<your_jar_artifact.jar> <com.your_package.YourMainClass>

【讨论】:

【参考方案25】:

如果你使用的是 maven Project...

首先请清理您的项目。 然后安装 maven- 如果构建成功然后运行你的项目。

然后项目将正常工作。

谢谢

【讨论】:

【参考方案26】:

在搜索时发现了这个,并且在我更新我的 Java 之后似乎出现了问题。

在您项目的 Eclipse 中:

Right-click on your project
Click Properties
Java build path: Libraries; Remove the "JRE System Library[J2SE 1.4]"
Click Add Library -> JRE System Library
Select the new "Execution Environment" or Workspace default JRE

【讨论】:

以上是关于Eclipse 错误“找不到或加载主类”的主要内容,如果未能解决你的问题,请参考以下文章

IntelliJ 构建错误的 JAR:找不到或加载主类

“找不到或加载主类”是啥意思?

“找不到或加载主类”是啥意思?

“找不到或加载主类”是啥意思?

heroku错误:找不到或加载主类

Java + JavaFX:错误:找不到或加载主类