我创建了一个新的Java项目(带有选项Unobserved task exception!
System.AggregateException: A Task's exception(s) were not observed either by Waiting on the Task or accessing its Exception property. As a result, the unobserved exception was rethrown by the finalizer thread. (Test exception)
---> System.Exception: Test exception
at ConsoleApp1.Program.ThrowAsync() in C:\Users\sergepavlov\Desktop\ConsoleApp1\ConsoleApp1\Program.cs:line 42
--- End of inner exception stack trace ---
---> (Inner Exception #0) System.Exception: Test exception
at ConsoleApp1.Program.ThrowAsync() in C:\Users\sergepavlov\Desktop\ConsoleApp1\ConsoleApp1\Program.cs:line 42
<---
),并且
当我单击运行按钮(带有红色圆圈的标记)时,出现错误Create Java Project
。
当我从Could not find or load main class
上方的run
选项(用绿色圆圈标记)运行程序时,它可以正常工作,并且不会显示错误。
我该如何解决?
这是main
文件:
.classpath
答案 0 :(得分:2)
这是一个已知问题https://github.com/microsoft/vscode-java-debug/issues/606,https://github.com/eclipse/eclipse.jdt.ls/issues/1137,它导致在构建工作空间期间无法识别新软件包。预期会在vscode-java十月中旬发行版中修复。
当前解决方法是重新加载VS代码窗口,或 F1->清理Java语言服务器工作空间。
答案 1 :(得分:1)
尝试编辑.classpath文件以显示其主类所在的位置。
一种更简单但更麻烦的方法是将.java文件移动到项目目录的根目录,以帮助vscode找到它。
答案 2 :(得分:1)
我认为您安装了 Code Runner 扩展程序,因此右上角有一个Run
图标,您可以尝试将其卸载,
然后 F1->清洁Java语言服务器工作区。,使用F5
或Run
方法上方的Main
运行代码
答案 3 :(得分:0)
如果所有解决方案都不起作用,只需重新构建您的项目,为包含 main 方法的类生成更新的 .class
文件。
基本上,此错误意味着 Java 编译器无法找到正确的 .class
文件,并且您的源 .java
有一个尚未添加到已编译 .class
中的 main 方法.
这主要适用于 Maven 项目。
答案 4 :(得分:0)
嘿,仍然有同样的问题。我的解决方案是从命令行编译代码。这为我生成了 .class 文件,然后我就可以运行我的代码了。可能有更好的解决方案,但这就是我所做的
答案 5 :(得分:0)
我认为这是因为没有“Main”类,并且编译器正在寻找该特定类,可能是项目经理将类命名为 App 而不是“Main”的问题,快速修复< em>可能将类命名为“Main”,看看是否可行。
答案 6 :(得分:0)
按 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
答案 7 :(得分:0)
安装 java
扩展包并尝试通过 CTRL
+ F5
运行它。修复后效果很好。