VSCode配置JDK1.8编译,解决字符串Switch报错问题咨询
Hey there, I’ve dealt with this exact frustration before—having JDK 1.8 set up but VS Code still clinging to an older source level. Let’s get this sorted out step by step:
1. Check your project build configuration (Maven/Gradle)
If your project uses a build tool like Maven or Gradle, its settings might override VS Code’s global JDK config. Here’s how to update them:
For Maven projects
Open your pom.xml and make sure the maven-compiler-plugin is set to use Java 1.8 for both source and target:
<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> </configuration> </plugin> </plugins> </build>
For Gradle projects
Edit your build.gradle file to set the compatibility versions explicitly:
plugins { id 'java' } java { sourceCompatibility = JavaVersion.VERSION_1_8 targetCompatibility = JavaVersion.VERSION_1_8 }
2. Configure VS Code workspace settings (for non-build-tool projects)
If you’re working on a plain Java project without Maven/Gradle, tweak the workspace settings to enforce Java 1.8:
- Press
Ctrl+Shift+P(Windows/Linux) orCmd+Shift+P(Mac) to open the command palette - Search for Java: Configure Java Runtime
- In the runtime configuration screen, find your project, set both Source Compatibility and Target Compatibility to
1.8 - Alternatively, directly edit your workspace’s
.vscode/settings.jsonfile with these entries (replace the path with your actual JDK 1.8 path):
{ "java.configuration.runtimes": [ { "name": "JavaSE-1.8", "path": "/your/jdk/path/jdk1.8.0_131", "default": true } ], "java.compiler.release": 8 }
3. Refresh the Java Language Server
VS Code’s Java extension caches some settings, so we need to clear that cache to apply the changes:
- Open the command palette again (
Ctrl/Cmd+Shift+P) - Search for Java: Clean Java Language Server Workspace
- Confirm the action and let VS Code restart the language server
After following these steps, the error about String switch statements should disappear—VS Code will now use JDK 1.8 for compiling your code, respecting the 1.7+ feature support.
内容的提问来源于stack exchange,提问作者Stefano Bossi




