这个警告通常是由于 Java 编译器的源版本与目标版本不匹配引起的。在你的项目中,源代码可能是用较高的 JDK(如 JDK 17)编写的,而目标版本没有正确设置为 JDK 17。
解决这个问题,你需要确保项目的 source 和 target 编译版本都设置为 JDK 17。下面是几种常见的解决方法:
1. 在 Maven 中设置 Java 编译版本
如果你使用的是 Maven 构建工具,可以在 pom.xml 中配置 maven-compiler-plugin 来明确指定 Java 版本。
在 pom.xml 中找到 <build> 标签并添加以下配置:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>17</source>
<target>17</target>
</configuration>
</plugin>
</plugins>
</build>
这样,Maven 会确保代码使用 JDK 17 进行编译。
2. 在 Gradle 中设置 Java 编译版本
如果你使用的是 Gradle 构建工具,可以在 build.gradle 文件中配置 Java 编译版本。
plugins {
id 'java'
}
java {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
tasks.withType(JavaCompile) {
options.encoding = 'UTF-8'
}
这样,Gradle 会使用 JDK 17 来编译项目。
3. 在 IntelliJ IDEA 中设置 JDK 版本
如果你是在 IntelliJ IDEA 中工作,确保你的项目配置正确。你可以按照以下步骤进行检查和设置:
- 打开 File -> Project Structure。
- 在 Project 标签页中,确保 Project SDK 设置为 JDK 17。
- 在 Modules 标签页中,确保 Language level 设置为 17。
- 在 Build, Execution, Deployment -> Compiler 中,确保 Target bytecode version 也设置为 JDK 17。
4. 手动设置 javac 编译选项
如果你在命令行中使用 javac 编译项目,确保添加了适当的编译选项。比如:
javac -source 17 -target 17 YourClass.java
这会指定源代码和目标字节码版本都为 JDK 17。
5. 检查 Java 环境变量
最后,确保 JAVA_HOME 环境变量指向正确的 JDK 17 路径。你可以通过以下命令确认当前的 JAVA_HOME:
echo $JAVA_HOME # macOS / Linux
echo %JAVA_HOME% # Windows
如果需要更改 JAVA_HOME,确保它指向 JDK 17 安装路径。
以上方法可以帮助你解决编译时的版本不匹配问题。如果警告依然存在,尝试重新构建项目或者重启 IDE。
实际操作,修改:

把这个地方的17改一下

java: 无效的目标发行版: 17
这个错误通常意味着你的 JDK 版本设置为 17,但你实际上可能没有正确安装 JDK 17,或者你的构建工具(如 Maven 或 Gradle)没有正确配置 JDK 17。
解决方法
- 确保安装了 JDK 17
首先,确保你已经安装了 JDK 17。如果你使用的是 JDK 17,确保正确安装,并设置 JAVA_HOME 环境变量。
你可以通过以下命令来检查当前安装的 JDK 版本:
java -version
它应该返回类似下面的信息:
openjdk version "17.0.1" 2021-10-19
OpenJDK Runtime Environment (build 17.0.1+12-39)
OpenJDK 64-Bit Server VM (build 17.0.1+12-39, mixed mode, sharing)
如果没有安装 JDK 17,可以从 Oracle 或 OpenJDK 下载并安装 JDK 17。
- 检查 IntelliJ IDEA 设置
如果你使用的是 IntelliJ IDEA,请确保 JAVA_HOME 配置正确,并且 IntelliJ 已经识别到 JDK 17。
-
设置 JAVA_HOME
在操作系统中设置
JAVA_HOME环境变量指向 JDK 17 的安装路径。Windows
- 打开 控制面板 -> 系统和安全 -> 系统 -> 高级系统设置 -> 环境变量。
- 找到
JAVA_HOME变量(如果没有就新建),设置为 JDK 17 的安装路径。例如:C:\Program Files\Java\jdk-17 - 更新 Path 变量,确保包含
JAVA_HOME/bin路径。
Linux / macOS
在.bashrc或.zshrc中添加以下内容:export JAVA_HOME=/path/to/jdk-17 export PATH=$JAVA_HOME/bin:$PATH然后重新加载配置:
source ~/.bashrc # 或 source ~/.zshrc -
在 IntelliJ IDEA 配置 JDK 17
- 打开 IntelliJ IDEA,选择 File -> Project Structure。
- 在 Project Settings -> Project 中,确保 Project SDK 设置为 JDK 17。
- 在 Modules 标签中,确保模块使用 JDK 17 作为编译版本。
- 配置 Maven 或 Gradle
如果你在使用 Maven 或 Gradle 构建项目,请确保配置了 JDK 17。
对于 Maven:
在 pom.xml 中,确保 maven-compiler-plugin 配置正确:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>17</source>
<target>17</target>
</configuration>
</plugin>
</plugins>
</build>
对于 Gradle:
在 build.gradle 文件中配置:
plugins {
id 'java'
}
java {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
tasks.withType(JavaCompile) {
options.encoding = 'UTF-8'
}
- 清理和重建项目
-
清理并重新构建你的项目。这可以帮助你清除旧的编译缓存和配置。
Maven:
mvn clean installGradle:
gradle clean build
- 检查 JDK 安装路径
确认你的 JAVA_HOME 环境变量和 IDE 中设置的 JDK 版本正确,并且指向 JDK 17 的安装目录。你可以使用以下命令来检查路径:
echo $JAVA_HOME # macOS / Linux
echo %JAVA_HOME% # Windows
如果以上步骤都没问题,重新编译项目时,错误应该就能解决。如果问题仍然存在,请检查你的 IDE 是否正确配置了 JDK 17,并确保你的构建工具(如 Maven 或 Gradle)使用的是 JDK 17 进行构建。
具体检查:
C:\Users\20120\Desktop\demo>java -version
java version "17.0.5" 2022-10-18 LTS
Java(TM) SE Runtime Environment (build 17.0.5+9-LTS-191)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.5+9-LTS-191, mixed mode, sharing)


![表情[baoquan]-拾光赋](https://blogs.ink/wp-content/themes/zibll/img/smilies/baoquan.gif)


暂无评论内容