java: 警告: 源发行版 17 需要目标发行版 17

错误

java: 警告: 源发行版 17 需要目标发行版 17
在这里插入图片描述

要解决“java: 无效的目标发行版: 17”错误,需从JDK版本、构建工具配置、环境变量、IDE设置、依赖兼容性五个维度系统性排查。以下是具体步骤和解决方案:

一、验证JDK版本与一致性

  1. 安装JDK 17

验证构建工具使用的JDK

mvn -v# Maven使用的JDK版本 gradle -v# Gradle使用的JDK版本

确保与项目配置的JDK 17一致。

检查已安装的JDK版本

java-version javac -version

确保输出显示JDK 17(如17.0.11)。若版本低于17,需安装JDK 17。

二、修复构建工具配置

Maven项目

检查父项目依赖

<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.1.0</version><!-- 支持JDK 17的版本 --></parent>

更新编译器插件

<build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.11.0</version><!-- 支持JDK 17的最低版本 --></plugin></plugins></build>

统一版本声明

<properties><maven.compiler.source>17</maven.compiler.source><maven.compiler.target>17</maven.compiler.target><maven.compiler.release>17</maven.compiler.release><!-- 推荐使用release标志 --></properties>
Gradle项目

显式设置兼容性

tasks.withType(JavaCompile){ sourceCompatibility =17 targetCompatibility =17}

配置Java工具链

java { toolchain { languageVersion = JavaLanguageVersion.of(17)}}

三、检查环境变量

  1. JAVA_HOME
    • 指向JDK 17安装目录(如C:\Program Files\Java\jdk-17)。
    • 验证:终端执行echo %JAVA_HOME%(Windows)或echo $JAVA_HOME(Linux/macOS)。
  2. PATH
    • 包含%JAVA_HOME%\bin(Windows)或$JAVA_HOME/bin(Linux/macOS)。

四、IDE配置检查

IntelliJ IDEA
  1. 项目设置
    • File > Project Structure > Project:设置Project SDKProject language level17
    • Modules > Sources:确保语言级别为17
  2. 全局设置
    • File > Settings > Build, Execution, Deployment > Compiler > Java Compiler:设置Target bytecode version17

Read more

Flutter for OpenHarmony:web 拥抱 Web 标准的桥梁(Wasm GC 与 DOM 互操作) 深度解析与鸿蒙适配指南

Flutter for OpenHarmony:web 拥抱 Web 标准的桥梁(Wasm GC 与 DOM 互操作) 深度解析与鸿蒙适配指南

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net 前言 随着 Flutter 3.x 全面拥抱 Wasm(WebAssembly),Dart 团队推出了全新的 package:web 来取代老旧的 dart:html。 package:web 是基于最新的 JS Interop 机制构建的,它不仅性能更好,而且兼容 Wasm GC 标准。 虽然这个库通过名字看是为 “Web” 平台的,但对于 OpenHarmony 开发者来说,了解它有着特殊的意义: 1. 混合开发:鸿蒙原生支持 ArkWeb (WebView),在 Flutter 中通过 JS互操作与 Web 页面交互是常见需求。 2.

By Ne0inhk
【AI】——结合Ollama、Open WebUI和Docker本地部署可视化AI大语言模型

【AI】——结合Ollama、Open WebUI和Docker本地部署可视化AI大语言模型

🎼个人主页:【Y小夜】 😎作者简介:一位双非学校的大三学生,编程爱好者, 专注于基础和实战分享,欢迎私信咨询! 🎆入门专栏:🎇【MySQL,Javaweb,Rust,python】 🎈热门专栏:🎊【Springboot,Redis,Springsecurity,Docker,AI】  感谢您的点赞、关注、评论、收藏、是对我最大的认可和支持!❤️ 目录 🎈本地部署模型 🎉安装Ollama 🎉安装 Open WebUI 🎊安装Docker 🥞启动 Hyper-v 🥞 安装 WSL(适用于Linux的Windows的子系统): 🥞安装Docker  🎊Docker 部署 Open WebUI 🎈本地部署模型 🎉安装Ollama 官网: Ollama 然后进行一下下载 安装完成之后是没有提示的,然后我们需要去测试一下。(这里我是以QWen为例子,大家可以尝试其他的模型) 打开一个终端,

By Ne0inhk

JWT 技术(JSON Web Token) 全解:原理、应用与生产级避坑指南

笔者阅读很多 JWT 技术的博文,发现大多只是讲 “JWT 是什么”,而这篇文章重点介绍它为什么出现、结构细节、以及生产环境中最棘手的“注销与续签”问题。 在前后端分离、微服务架构大行其道的今天,JWT(JSON Web Token)几乎成为了身份认证的代名词。 很多开发者只知道它是一个“长长的字符串”,用来做登录校验,但并不清楚它内部的运作机制,以及它在安全性上的潜在风险。本文将从原理、结构、流程、以及最核心的生产陷阱四个维度进行详细拆解。 一、为什么需要 JWT?(Session vs Token) 在 JWT 出现之前,我们主要使用 Session + Cookie 的方式。 1.传统Session的认证痛点 * 服务端有状态:服务端需要保存 Session 数据(内存或Redis)。 * 扩展性差:集群环境下,必须做

By Ne0inhk
快学快用系列:一文学会java后端WebApi开发

快学快用系列:一文学会java后端WebApi开发

文章目录 * 第一部分:Web API开发基础概念 * 1.1 什么是Web API * 1.2 RESTful API设计原则 * 第二部分:开发环境搭建 * 2.1 环境要求 * 2.2 创建Spring Boot项目 * 2.3 配置文件 * 第三部分:项目架构设计 * 3.1 分层架构 * 3.2 包结构设计 * 第四部分:数据模型设计 * 4.1 实体类设计 * 4.2 DTO设计 * 第五部分:数据访问层实现 * 5.1 Repository接口 * 5.2 自定义Repository实现 * 第六部分:业务逻辑层实现

By Ne0inhk