首页 > 解决方案 > Visual Studio Code 不再编译 Java

问题描述

我使用 VSCode 来编译和调试简单的 Java 程序。效果很好。只需按 F5,进入您的主课程,然后再次按 F5。可悲的是,自从几天前我重新启动了我的电脑后,VSCode 将不再运行我的任何程序。即使是以前工作的东西也不再运行。

我正在使用这些扩展:Java 调试器、Java 语言支持。

每次按 F5 都会收到一条错误消息:

Error: Could not find or load main class HelloWorld
Caused by: java.lang.ClassNotFoundException: HelloWorld

我什么都试过了。我完全卸载并重新安装了 VSCode 和 Java(包括所有临时文件、缓存和设置)。我遵循了每个故障排除指南,但我无法再让它工作了。

我的代码:

/**
 * HelloWorld
 */
public class HelloWorld {

    public static void main(String[] args) {
        System.out.println("Hello World!");
    }
}

启动.json:

{
    "version": "0.2.0",
    "configurations": [
        {
            "type": "java",
            "name": "Debug (Launch) - Current File",
            "request": "launch",
            "mainClass": "HelloWorld"
        }
    ]
}

Java 日志的语言支持:

[Error - 10:47:04] 12.10.2019, 10:47:04 
null
org.eclipse.jface.text.BadLocationException
    at org.eclipse.jface.text.ListLineTracker.getLineOffset(ListLineTracker.java:197)
    at org.eclipse.jface.text.AbstractLineTracker.getLineOffset(AbstractLineTracker.java:160)
    at org.eclipse.jface.text.AbstractDocument.getLineOffset(AbstractDocument.java:876)
    at org.eclipse.core.internal.filebuffers.SynchronizableDocument.getLineOffset(SynchronizableDocument.java:323)
    at org.eclipse.jdt.ls.core.internal.handlers.WorkspaceDiagnosticsHandler.convertRange(WorkspaceDiagnosticsHandler.java:361)
    at org.eclipse.jdt.ls.core.internal.handlers.WorkspaceDiagnosticsHandler.toDiagnostic(WorkspaceDiagnosticsHandler.java:338)
    at org.eclipse.jdt.ls.core.internal.handlers.WorkspaceDiagnosticsHandler.lambda$3(WorkspaceDiagnosticsHandler.java:322)
    at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)
    at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948)
    at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
    at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
    at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913)
    at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
    at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:578)
    at org.eclipse.jdt.ls.core.internal.handlers.WorkspaceDiagnosticsHandler.toDiagnosticsArray(WorkspaceDiagnosticsHandler.java:324)
    at org.eclipse.jdt.ls.core.internal.handlers.WorkspaceDiagnosticsHandler.publishDiagnostics(WorkspaceDiagnosticsHandler.java:263)
    at org.eclipse.jdt.ls.core.internal.handlers.WorkspaceDiagnosticsHandler.publishDiagnostics(WorkspaceDiagnosticsHandler.java:198)
    at org.eclipse.jdt.ls.core.internal.handlers.JDTLanguageServer$1.run(JDTLanguageServer.java:266)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)

[Error - 10:47:24] 12.10.2019, 10:47:24 Error occured while building workspace. Details: 
 message: Preview features enabled at an invalid source release level 12, preview can be enabled only at source level 13; code: 2098258; resource: C:/Users/Johannes/Desktop/HelloWorld/HelloWorld.java;

编辑:评论中提到的解决方案有效。只需更新到 JDK 13,它就会再次工作。

标签: javavisual-studio-code

解决方案


推荐阅读