【问题标题】:Could not find or load main class - VS Code无法找到或加载主类 - VS Code
【发布时间】:2020-01-11 10:44:28
【问题描述】:

我创建了一个新的 java 项目(使用选项 Create Java Project),并且 当我单击运行按钮(标有红色圆圈)时,它给了我错误Could not find or load main class

当我从main(标有绿色圆圈)上方的run 选项运行程序时,它可以工作并且不会显示错误。

我该如何解决?

这是.classpath 文件:

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
    <classpathentry kind="src" path="src"/>
    <classpathentry kind="output" path="bin"/>
</classpath>

【问题讨论】:

  • 您的完整应用程序类名称空间是什么?喜欢com.acme.example.ListAppuals
  • @DeanVanGreunen 在哪里可以找到命名空间?
  • 你从哪里得到右上角的运行按钮,据我所知,它不是标准 Visual Studio Code 的一部分?你安装了一些扩展?由于标准的“运行”有效,也许你应该忽略那个按钮?
  • 似乎不是你的情况,但由于源路径中的特殊字符,我遇到了同样的问题。

标签: java visual-studio-code


【解决方案1】:

这是一个已知问题https://github.com/microsoft/vscode-java-debug/issues/606https://github.com/eclipse/eclipse.jdt.ls/issues/1137,导致在构建工作区期间无法识别新包。预计将在 10 月中旬的 vscode-java 版本中修复。

当前的解决方法是重新加载 VS Code 窗口,或 F1 ->清理 java 语言服务器工作区

【讨论】:

  • F1 -&gt;Clean the java language server workspace点赞。
【解决方案2】:

我想你安装了 Code Runner 扩展,所以右上角有一个Run 图标,你可以尝试卸载它,

然后F1 ->清理java语言服务器工作区。,用F5Run上面的Main方法运行你的代码

【讨论】:

  • 是的,我安装了Code Runner,为了运行C程序。
  • 我在 CodeRunner 也遇到了同样的问题,如果你在 setting.json 文件中配置它,就像 "java":"cd $dir &amp;&amp; javac -d . $fileName &amp;&amp; java app.$fileNameWithoutExt" 一样,它似乎是你的类的包名(app),它会工作跨度>
  • Code Runner 是我认为的问题,你的回答对我有用。
【解决方案3】:

尝试编辑您的 .classpath 文件以显示您的主类所在的位置。

一种更简单但更卡的方法是将 .java 文件移动到项目目录的根目录以帮助 vscode 找到它。

【讨论】:

  • 我添加了 .classpath 文件。我需要改变什么?
【解决方案4】:

如果所有解决方案都不起作用,只需重新构建您的项目,为包含 main 方法的类生成更新的 .class 文件。

基本上,此错误意味着 Java 编译器无法找到正确的 .class 文件,并且您的源 .java 有一个 main 方法尚未添加到已编译的 .class 中。

这主要适用于 Maven 项目。

【讨论】:

    【解决方案5】:

    嘿,还是有同样的问题。我的解决方案是从命令行编译代码。这为我制作了 .class 文件,然后我就可以运行我的代码了。可能有更好的解决方案,但这就是我所做的

    【讨论】:

      【解决方案6】:

      我认为这是因为没有“Main”类,并且编译器正在寻找该特定类,可能是项目经理将类命名为 App 而不是“Main”的问题,快速修复 可能将类命名为“Main”,看看是否可行。

      【讨论】:

        【解决方案7】:

        ctrl+f5 即可解决问题。

        终端输出:

        PS F:\Testing>  & 'c:\Users\xyz\.vscode\extensions\vscjava.vscode-java-debug-0.34.0\scripts\launcher.bat' 'C:\jdk-18\bin\java.exe' '-XX:+ShowCodeDetailsInExceptionMessages' '-Dfile.encoding=UTF-8' '-cp' 'C:\Users\xyz\AppData\Roaming\Code\User\workspaceStorage\1edb6264f8da6da9dda20a68800df89b\redhat.java\jdt_ws\Testing_e004a758\bin' 'mypackage.Foo'
        hello
        

        【讨论】:

          【解决方案8】:

          安装java 扩展包并尝试通过CTRL + F5 运行它。修复后效果很好。

          【讨论】:

            【解决方案9】:

            尝试删除 .vscode 文件夹并再次运行

            【讨论】:

            • 这并没有解释问题是什么以及为什么答案会解决问题。
            • 请在您的回答中提供更多详细信息。正如目前所写的那样,很难理解您的解决方案。
            【解决方案10】:

            同样的事情发生在我身上,但很容易解决, 检查launch.json类名是否正确

            自从我改变了班级的小组。

            检查您的 launch.json 文件数据是否正确。 因为有时 launch.json 不会自动更新。

            希望对你有帮助。

            【讨论】:

              【解决方案11】:

              就我而言,我在项目中添加了launch.json,并从 ${file} 修改了默认配置,如下所示:

              然后我开始调试,它照常工作。

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 2019-01-05
                • 2015-02-06
                • 2018-10-10
                • 2014-09-15
                • 2015-09-10
                相关资源
                最近更新 更多