You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

首次在Eclipse运行Spring Boot应用遇JDK14非法反射访问警告

解决JDK14下Spring Boot在Eclipse中运行的非法反射访问警告

嗨,我来帮你搞定这个问题!你遇到的非法反射访问警告,本质原因是JDK 9及以上版本引入了模块系统(JPMS),而你当前使用的Spring Core 4.3.2版本比较老旧,还没适配这个新的安全机制,所以触发了非法反射访问的警告。下面给你几个可行的解决办法:

方案1:升级Spring Boot版本(最推荐)

Spring从5.0版本开始就完全适配了JDK 9+的模块系统,只要把你的Spring Boot依赖升级到2.x及以上版本(对应Spring Core 5.x+),就能彻底根除这个问题。

  • 如果你用Maven管理依赖,直接修改pom.xml里的Spring Boot父依赖版本就行,比如选一个稳定的2.x版本:
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.7.15</version> <!-- 可根据需求选择最新稳定的2.x版本 -->
</parent>

升级后不仅能解决警告,还能获得更多新特性和安全补丁。

方案2:添加JVM参数临时屏蔽警告(应急过渡)

如果暂时没法升级Spring版本,可以给Eclipse的运行配置加个JVM参数来关闭这个警告:

  1. 打开Eclipse的「Run Configurations」,找到你的Spring Boot应用的运行配置
  2. 切换到Arguments标签页,在VM arguments输入框中添加:
    --illegal-access=permit
  3. 保存配置后重新运行应用,警告就会消失。不过要注意,这个参数在JDK16及以上版本已经被移除,只是个临时过渡的办法。

方案3:降级JDK到8(不推荐,除非有特殊需求)

Spring Core 4.3.2原本就是为JDK8及以下版本设计的,如果你把项目的JDK换成8,这个警告自然就不会出现。但这样会错过JDK14的新特性,所以除非项目有强制要求,不然不建议采用这个方案。

内容的提问来源于stack exchange,提问作者Monika Rawat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.08 15:22:28