【问题标题】:Eclipse error "Could not find or load main class"Eclipse 错误“找不到或加载主类”
【发布时间】: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()函数?

标签: java eclipse classpath main


【解决方案1】:

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

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

【讨论】:

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

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

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

【讨论】:

    【解决方案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】:

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

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

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

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

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

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

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

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

              谢谢

              【讨论】:

                【解决方案10】:

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

                我是这样解决的:

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

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

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

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

                主 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
                                              

                                              【讨论】:

                                                猜你喜欢
                                                • 2014-03-28
                                                • 2020-05-15
                                                • 2012-06-29
                                                • 2014-06-26
                                                • 1970-01-01
                                                • 1970-01-01
                                                • 1970-01-01
                                                相关资源
                                                最近更新 更多