事情是这样的:
我在VsCode上写了一段代码(Java)
之前还挺正常的,直到今天我打开Vs的时候
它给我报错Error occured initializing language server
.log的日志报错是这样的:
!ENTRY org.eclipse.jdt.ls.core 4 0 2022-08-19 10:48:06.773
!MESSAGE Initialization failed
!STACK 1
org.eclipse.core.runtime.CoreException: Failed to import projects
at org.eclipse.jdt.ls.core.internal.managers.ProjectsManager.importProjects(ProjectsManager.java:161)
at org.eclipse.jdt.ls.core.internal.managers.ProjectsManager.initializeProjects(ProjectsManager.java:111)
at org.eclipse.jdt.ls.core.internal.handlers.InitHandler$1.runInWorkspace(InitHandler.java:244)
at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:43)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
Contains: Javatest_1fe5f84e does not exist
!SUBENTRY 1 org.eclipse.jdt.ls.core 4 -1 2022-08-19 10:48:06.773
!MESSAGE Failed to import projects
!SUBENTRY 2 org.eclipse.jdt.core 4 969 2022-08-19 10:48:06.773
!MESSAGE Javatest_1fe5f84e does not exist
client.log的日志报错是这样的:
{
message: '[Error - 11:27:21] 2022年8月19日 上午11:27:21 Problem with folding range for /JavaChat_1fe5f84e/_/sql/sqltest.java\n' +
"_/sql [in Javatest_1fe5f84e] is not on its project's build path\n" +
"Java Model Exception: Error in Java Model (code 1006): _/sql [in JavaChat_1fe5f84e] is not on its project's build path\r\n" +
'\tat org.eclipse.jdt.internal.core.JavaElement.newJavaModelException(JavaElement.java:584)\r\n' +
'\tat org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:254)\r\n' +
'\tat org.eclipse.jdt.internal.core.Openable.openAncestors(Openable.java:528)\r\n' +
'\tat org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:248)\r\n' +
'\tat org.eclipse.jdt.internal.core.Openable.openAncestors(Openable.java:528)\r\n' +
'\tat org.eclipse.jdt.internal.core.CompilationUnit.openAncestors(CompilationUnit.java:1240)\r\n' +
'\tat org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:248)\r\n' +
'\tat org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:597)\r\n' +
'\tat org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:328)\r\n' +
'\tat org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:314)\r\n' +
'\tat org.eclipse.jdt.internal.core.CompilationUnit.getSourceRange(CompilationUnit.java:955)\r\n' +
'\tat org.eclipse.jdt.ls.core.internal.handlers.FoldingRangeHandler.computeFoldingRanges(FoldingRangeHandler.java:79)\r\n' +
'\tat org.eclipse.jdt.ls.core.internal.handlers.FoldingRangeHandler.foldingRange(FoldingRangeHandler.java:70)\r\n' +
'\tat org.eclipse.jdt.ls.core.internal.syntaxserver.SyntaxLanguageServer.lambda$5(SyntaxLanguageServer.java:336)\r\n' +
'\tat org.eclipse.jdt.ls.core.internal.BaseJDTLanguageServer.lambda$0(BaseJDTLanguageServer.java:75)\r\n' +
'\tat java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(Unknown Source)\r\n' +
'\tat java.base/java.util.concurrent.CompletableFuture$Completion.exec(Unknown Source)\r\n' +
'\tat java.base/java.util.concurrent.ForkJoinTask.doExec(Unknown Source)\r\n' +
'\tat java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(Unknown Source)\r\n' +
'\tat java.base/java.util.concurrent.ForkJoinPool.scan(Unknown Source)\r\n' +
'\tat java.base/java.util.concurrent.ForkJoinPool.runWorker(Unknown Source)\r\n' +
'\tat java.base/java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source)\r\n',
level: 'info',
timestamp: '2022-08-19 11:27:21.662'
}
{
message: '[Error - 11:27:22] 2022年8月19日 上午11:27:22 Initialization failed \n' +
'Failed to import projects\n' +
'org.eclipse.core.runtime.CoreException: Failed to import projects\r\n' +
'\tat org.eclipse.jdt.ls.core.internal.managers.ProjectsManager.importProjects(ProjectsManager.java:161)\r\n' +
'\tat org.eclipse.jdt.ls.core.internal.managers.ProjectsManager.initializeProjects(ProjectsManager.java:111)\r\n' +
'\tat org.eclipse.jdt.ls.core.internal.handlers.InitHandler$1.runInWorkspace(InitHandler.java:244)\r\n' +
'\tat org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:43)\r\n' +
'\tat org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)\r\n' +
'Contains: Javatest_1fe5f84e does not exist\r\n',
level: 'info',
timestamp: '2022-08-19 11:27:22.087'
}
{
message: '[Error - 11:27:22] 2022年8月19日 上午11:27:22 Workspace was not properly initialized or has already shutdown.\n' +
'Workspace was not properly initialized or has already shutdown.\n' +
'java.lang.Exception: Workspace was not properly initialized or has already shutdown.\r\n' +
'\tat org.eclipse.core.internal.resources.ResourceException.provideStackTrace(ResourceException.java:42)\r\n' +
'\tat org.eclipse.core.internal.resources.ResourceException.<init>(ResourceException.java:38)\r\n' +
'\tat org.eclipse.core.internal.resources.Workspace.getWorkManager(Workspace.java:1817)\r\n' +
'\tat org.eclipse.core.internal.resources.Workspace.endOperation(Workspace.java:1481)\r\n' +
'\tat org.eclipse.core.internal.events.AutoBuildJob$AutoBuildOffJob.run(AutoBuildJob.java:333)\r\n' +
'\tat org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)\r\n',
level: 'info',
timestamp: '2022-08-19 11:27:22.914'
}
(代码块里没有纯文本选项QAQ,所以只能用xml)
我当时安装了以下几个插件:
Extension Pack for Java
Maven for Java
Debugger for Java
Project Manager for Java
Test Runner for Java
Language Support for Java(TM) by Red Hat
Java Run
用Java Run运行是可以运行的,
但是如果alt+F5的话,调试终端会报错:
Exception in thread "main" java.lang.Error: Unresolved compilation problems: ocumentation.ErrorMappingsDocGenerator'
MysqlErrorNumbers cannot be resolved
MysqlErrorNumbers cannot be resolved to a type
MysqlErrorNumbers cannot be resolved
at documentation.ErrorMappingsDocGenerator.dumpSqlStatesMappingsAsXml(ErrorMappingsDocGenerator.java:56) r.java:56)
at documentation.ErrorMappingsDocGenerator.main(ErrorMappingsDocGenerator.java:44)
调试命令是:c:; cd 'c:\Users\Administrator\Desktop\Javatest'; & 'C:\Program Files\Java\jdk-18.0.1.1\bin\java.exe' '--enable-preview' '-XX:+ShowCodeDetailsInExceptionMessages'
'-cp' 'C:\Users\Administrator\AppData\Roaming\Code\User\workspaceStorage\b8aed93921873591fa0a8b328e92a733\redhat.java\jdt_ws\jdt.ls-java-project\bin' 'documentation.ErrorMappingsDocGenerator'
而且我写的代码里根本没有用到MySQL模块
C:\Users\Administrator\AppData\Roaming\Code\User\workspaceStorage\b8aed93921873591fa0a8b328e92a733\redhat.java\jdt_ws\jdt.ls-java-project\bin路径下有一个documentation文件夹,里面有一个ErrorMappingsDocGenerator.class,反编译之后是这样的:
package documentation;
public class ErrorMappingsDocGenerator {
public ErrorMappingsDocGenerator() {
}
public static void main(String[] args) throws Exception {
dumpSqlStatesMappingsAsXml();
}
public static void dumpSqlStatesMappingsAsXml() throws Exception {
throw new Error("Unresolved compilation problems: \n\tMysqlErrorNumbers cannot be resolved\n\tMysqlErrorNumbers cannot be resolved to a type\n\tMysqlErrorNumbers cannot be resolved\n");
}
}
我试过把eclipse和vscode都卸载有重新安装了,可是丝毫没有效果。
求各位博主,到底该怎么办