module java.base does not “opens java.lang“ to unnamed module

news2024/7/4 22:47:21

目录

      • 原因:
      • 解决方法:
        • 方法一:
        • 方法二:
        • 方法三:

SpringBoot项目运行报如下错误

Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make protected final java.lang.Class java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain) throws java.lang.ClassFormatError accessible: module java.base does not "opens java.lang" to unnamed module @7744eae3
	at java.base/java.lang.reflect.AccessibleObject.throwInaccessibleObjectException(AccessibleObject.java:388) ~[na:na]
	at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:364) ~[na:na]
	at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:312) ~[na:na]
	at java.base/java.lang.reflect.Method.checkCanSetAccessible(Method.java:203) ~[na:na]
	at java.base/java.lang.reflect.Method.setAccessible(Method.java:197) ~[na:na]
	at org.springframework.cglib.core.ReflectUtils$1.run(ReflectUtils.java:61) ~[spring-core-5.0.9.RELEASE.jar:5.0.9.RELEASE]
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:571) ~[na:na]
	at org.springframework.cglib.core.ReflectUtils.<clinit>(ReflectUtils.java:52) ~[spring-core-5.0.9.RELEASE.jar:5.0.9.RELEASE]
	at org.springframework.cglib.core.KeyFactory$Generator.generateClass(KeyFactory.java:243) ~[spring-core-5.0.9.RELEASE.jar:5.0.9.RELEASE]
	at org.springframework.cglib.core.DefaultGeneratorStrategy.generate(DefaultGeneratorStrategy.java:25) ~[spring-core-5.0.9.RELEASE.jar:5.0.9.RELEASE]
	at org.springframework.cglib.core.AbstractClassGenerator.generate(AbstractClassGenerator.java:329) ~[spring-core-5.0.9.RELEASE.jar:5.0.9.RELEASE]
	... 31 common frames omitted

在这里插入图片描述

原因:

在Java 9及以后的版本中,模块系统增加了对反射访问的控制,以确保Java平台的稳定性和安全性。默认情况下,Java的核心模块(如java.base)不允许被其他模块反射访问。


解决方法:

方法一:

直接更换项目jdk版本到8即可,简单粗暴

在这里插入图片描述


方法二:

如果你正在编写的代码属于一个模块,并且需要反射访问java.lang包中的类,你可以在模块的module-info.java文件中添加以下声明:

opens java.lang;

这将允许反射访问java.lang包中所有的类型。

如果你不需要反射访问java.lang包中的所有类型,而只是某些特定的类型,你可以只开放那些特定的类型:

opens java.lang to your.module.name;
//your.module.name为你的模块名。

方法三:

如果你不能修改module-info.java文件(比如使用的是第三方库),那么你可能需要寻找替代方法来实现你的需求,而不是使用反射来访问java.lang包中的类型。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1872368.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

兴趣爱好广泛的人,如何填报高考志愿选专业?

一般来说&#xff0c;高考填报志愿都要以自己的兴趣为基础。但是对于有一些比较优秀的同学来说&#xff0c;自己的兴趣可能是非常广&#xff0c;涉及到各个专业方方面面。有些同学琴棋书画样样精通&#xff0c;对于很多的专业&#xff0c;他们都充满了兴趣&#xff0c;而且兴趣…

【机器学习】高斯混合模型(Gaussian Mixture Models, GMM)深度解析

&#x1f308;个人主页: 鑫宝Code &#x1f525;热门专栏: 闲话杂谈&#xff5c; 炫酷HTML | JavaScript基础 ​&#x1f4ab;个人格言: "如无必要&#xff0c;勿增实体" 文章目录 高斯混合模型&#xff08;Gaussian Mixture Models, GMM&#xff09;深度解析引…

模拟实现string【C++】

文章目录 全部的实现代码放在了文章末尾准备工作包含头文件定义命名空间和类类的成员变量 构造函数默认构造拷贝构造 重载赋值拷贝函数析构函数迭代器和获取迭代器迭代器获取迭代器 resize【调整size】图解 reserve【调整capacity】empty【判断串是否为空】operator[]appendpus…

Stablediffusion SD最好用的图片放大方法 无损4K,8K放大 TILED

Tiled Diffusion Tiled VAE ControlNet Tile模型 只有图生图才能使用Tiled放大倍数。文生图没有放大倍数选项但是可以使用覆盖图像尺寸直接更改尺寸。&#xff08;文生图不容易控制&#xff0c;不如图生图&#xff09; 【采用接力的方法进行放大&#xff1a;先文生图高清修复…

ONLYOFFICE 8.1版本桌面编辑器测评:重塑办公效率的巅峰之作

在数字化办公日益普及的今天&#xff0c;一款高效、便捷且功能强大的桌面编辑器成为了职场人士不可或缺的工具。ONLYOFFICE 8.1版本桌面编辑器凭借其卓越的性能和丰富的功能&#xff0c;成功吸引了众多用户的目光。今天&#xff0c;我们将对ONLYOFFICE 8.1版本桌面编辑器进行全…

Ansys Zemax|在设计抬头显示器(HUD)时需要使用哪些工具?

附件下载 联系工作人员获取附件 汽车抬头显示器或汽车平视显示器&#xff0c;也被称为HUD&#xff0c;是在汽车中显示数据的透明显示器&#xff0c;不需要用户低头就能看到他们需要的重要资讯。这个名字的由来是由于该技术能够让飞行员在头部“向上”并向前看的情况下查看信息…

现如今软考通过率真的很低吗?

刚开始机考&#xff0c;10个人中有3个人表示想要尝试考试&#xff0c;这样通过率能高吗&#xff1f;就拿PMP证书来说吧&#xff0c;一下子就得花费三千多块&#xff0c;有几个人会轻易去尝试呢&#xff1f; 说到底&#xff0c;考试的难度是一个方面&#xff0c;考试的成本低是…

基于边缘智能的沉浸式元宇宙关键技术与展望

源自&#xff1a;大数据 作者&#xff1a;王智 夏树涛 毛睿 注&#xff1a;若出现无法显示完全的情况&#xff0c;可 V 搜索“人工智能技术与咨询”查看完整文章 摘 要 近年来&#xff0c;360度视频、增强现实、虚拟现实等应用蓬勃发展&#xff0c;并逐渐形成元宇宙沉浸…

大模型推理知识总结

一、大模型推理概念 大多数流行的only-decode LLM&#xff08;例如 GPT-3&#xff09;都是针对因果建模目标进行预训练的&#xff0c;本质上是作为下一个词预测器。这些 LLM 将一系列tokens作为输入&#xff0c;并自回归生成后续tokens&#xff0c;直到满足停止条件&#xff0…

瑜伽健身舞蹈教育辅导班培训约课扣课消课课时项目排课管理系统

瑜伽健身舞蹈教育辅导班培训约课扣课消课课时项目排课管理系统 &#x1f31f; 引言&#xff1a;为什么我们需要一个高效的管理系统&#xff1f; 在瑜伽、健身、舞蹈等教育辅导班培训领域&#xff0c;课程的安排、学员的约课、扣课以及消课等管理事务繁琐且重要。传统的人工管理…

Windows kubectl终端日志聚合(wsl+ubuntu+cmder+kubetail)

Windows kubectl终端日志聚合 一、kubectl终端日志聚合二、windows安装ubuntu子系统1. 启用wsl支持2. 安装所选的 Linux 分发版 三、ubuntu安装kubetail四、配置cmder五、使用 一、kubectl终端日志聚合 k8s在实际部署时&#xff0c;一般都会采用多pod方式&#xff0c;这种情况下…

gin中间件

在web应用服务中&#xff0c;完整的业务处理在技术上包含客户端操作&#xff0c;服务端处理&#xff0c;返回处理结果给客户端三个步骤。但是在在更负责的业务和需求场景。一个完整的系统可能要包含鉴权认证&#xff0c;权限管理&#xff0c;安全检查&#xff0c;日志记录等多维…

Python输入与输出基础

Python输入与输出基础 引言 Python是一种非常直观且功能强大的编程语言&#xff0c;它允许用户轻松地处理输入和输出操作。无论是从用户那里获取数据&#xff0c;还是将结果展示给用户&#xff0c;Python都提供了简单易用的函数和方法。 一、输入数据 在Python中&#xff0c…

控制台扫雷(C语言实现)

目录 博文目的实现思路项目创建文件解释 具体实现判断玩家进行游戏还是退出扫雷棋盘的确定地图初始化埋雷玩家扫雷的实现雷判断函数 源码game.cgame.h扫雷.c 博文目的 相信不少人都学习了c语言的函数&#xff0c;循环&#xff0c;分支那我们就可以写一个控制台的扫雷小游戏来检…

AI在创造还是毁掉一些东西

今天突然闪现一个念头&#xff0c;AI真的能带来进步吧。AI能个我们带来什么&#xff1f; 突发这个想法的原因是早上乘车的时候看到一个7,8岁的小孩脖子上带了AI学习机。我在想&#xff0c;小孩都通过AI来学习了&#xff0c;还能提升创造吗&#xff1f;这引起了我的担忧。也许AI…

足底筋膜炎是怎么引起的,怎样治愈?

足底筋膜炎的引起原因及治愈方法可以按照以下几个方面进行清晰归纳&#xff1a; 一、引起原因 &#xff08;1&#xff09;生理因素&#xff1a; 足部缺陷&#xff1a;如扁平足、高弓足等足部问题&#xff0c;会导致足底筋膜受力不均或负荷过重&#xff0c;从而诱发足底筋膜炎。…

Intellij Idea显示回退和前进按钮的方法

方法1 使用快捷键&#xff1a; 回到上一步 ctrl alt <-&#xff08;左方向键&#xff09;回到下一步 ctrl alt ->&#xff08;右方向键&#xff09; 方法2&#xff1a; Preferences -> Appearance & Behavior -> Menus and Toolbars -> Navigation B…

STM32-hal库学习(4)--usart/uart通信 (同时显示在oled)

前言&#xff1a; 关于usart详解&#xff1a; stm32-USART通信-CSDN博客 因为在oled上显示&#xff0c;我们直接在上一个工程进行修改&#xff1a; STM32_hal库学习&#xff08;3&#xff09;-OLED显示-CSDN博客 其他配置与oled显示工程保持不变&#xff0c;打开oled文件的…

信我!这里有普通人也能理解的 Transformer

引言 如今爆火的大模型&#xff0c;GPT-3&#xff0c;BERT 等&#xff0c;通过大量的参数和数据&#xff0c;为我们提供了前所未有的自然语言处理能力&#xff0c;使得机器能够更好地理解和生成人类的语言。而注意力机制无疑是重要的基石之一&#xff0c;作为一种新的神经网络…

2024软件设计师笔记之考点版(一考就过):40-50

软件设计师之一考就过:成绩版 考点40:排序算法(必须记住:插冒归快堆) 1、直接插入排序(这里以从小到大排序为例) ◆要注意的是,前提条件是前i-1个元素是有序的,第i个元素依次从第i-1个元素往前比较,直到找到一个比第i个元素值小的元素,而后插入,插入位置及其后的…