VS Code运行Java 8 Maven项目JUnit报错找不到java.lang.Object类
VS Code Java 8 Maven项目JUnit运行报错解决方案
核心问题为JDT语言服务未同步到正确的JRE构建路径,按以下步骤逐一修复即可:
- 修正全局
settings.json配置
你当前配置中java.configuration.updateBuildConfiguration设为disabled会阻止Maven配置变更同步到构建路径,且java.home字段已在新版红帽Java扩展中废弃,替换为以下配置:
其余原有配置保持不变即可。{ // 替换废弃的java.home配置,指定JDT语言服务器运行用的JDK11 "java.jdt.ls.java.home": "C:\\Program Files\\OpenJDK\\openjdk-11.0.12_7", // 开启构建配置自动同步 "java.configuration.updateBuildConfiguration": "automatic", // 临时注释掉以下排除项,避免JDT配置无法写入读取 // "files.exclude": { // "**/.classpath": true, // "**/.project": true, // "**/.settings": true, // "**/.factorypath": true // } } - 校验项目
pom.xml的编译配置
确保Maven编译插件指定了JDK8的编译版本,在pom.xml的<build><plugins>节点下添加/修正以下配置:<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.1</version> <configuration> <source>1.8</source> <target>1.8</target> <release>8</release> </configuration> </plugin> - 清理缓存并重新导入项目
按下Ctrl+Shift+P调出命令面板,依次执行以下命令:Java: Clean Java Language Server Workspace,选择重启确认- 重启完成后执行
Java: Reload Projects - 打开侧边栏Maven面板,点击刷新按钮重新加载所有Maven依赖
- 校验JUnit运行配置
首次运行测试时点击运行按钮旁的齿轮图标,打开launch.json配置,确保测试运行时使用指定的JDK8:
配置完成后重新运行JUnit测试即可。{ "type": "java", "name": "JUnit Test", "request": "launch", "mainClass": "", "args": "", "runtimeName": "JavaSE-1.8" }
内容的提问来源于stack exchange,提问作者Rens Groenveld
相关产品推荐
相关产品推荐

