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 --> Configure Build Path --> Java Build Path --> 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 clean
、mvn 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 错误“找不到或加载主类”的主要内容,如果未能解决你的问题,请参考以下文章