An illegal reflective access operation has occurred问题记录

news/2024/5/20 2:17:12 标签: gradle, ideal plugin

报错

2023-11-30T01:08:18.744+0800 [ERROR] [system.err] WARNING: An illegal reflective access operation has occurred
2023-11-30T01:08:18.745+0800 [ERROR] [system.err] WARNING: Illegal reflective access by com.intellij.ui.JreHiDpiUtil to method sun.java2d.SunGraphicsEnvironment.isUIScaleEnabled()
2023-11-30T01:08:18.745+0800 [ERROR] [system.err] WARNING: Please consider reporting this to the maintainers of com.intellij.ui.JreHiDpiUtil
2023-11-30T01:08:18.745+0800 [ERROR] [system.err] WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
2023-11-30T01:08:18.745+0800 [ERROR] [system.err] WARNING: All illegal access operations will be denied in a future release
2023-11-30T01:08:19.394+0800 [ERROR] [system.err] 2023-11-30 01:08:19,393 [    795]   WARN - j.internal.DebugAttachDetector - Unable to start DebugAttachDetector, please add `--add-exports java.base/jdk.internal.vm=ALL-UNNAMED` to VM options 

环境

jdk azul-13.0.14
org.jetbrains.intellij 1.5.2
gradle 7.4.2

解决

Illegal reflective access by com.intellij.ui.JreHiDpiUtil to method sun.java2d.SunGraphicsEnvironment.isUIScaleEnabled()
意思是在JreHiDpiUtil 类中非法使用了反射访问SunGraphicsEnvironment.isUIScaleEnabled()方法

类似的还有
Illegal reflective access by com.intellij.ide.ui.laf.darcula.DarculaLaf to field javax.swing.text.html.HTMLEditorKit.DEFAULT_STYLES_KEY

要么更换包要么只能接收这个警告

可以使用jvm参数查看更加详细的信息
--illegal-access=debug --add-opens java.base/java.lang=ALL-UNNAMED
如果不想所有的配置都添加这个参数可以在自定义vm惨出生中添加
在这里插入图片描述

其实这是 JDK9 中添加的新特性,即 reflect 不再可以访问 non-public 成员以及不可公开访问的 class,原先这些访问控制虽然存在但是可以通过 reflect 绕过,从 JDK9 开始反射也将遵循访问控制的规则。JDK9 中对于第一次访问非公开成员的操作会显示警告信息,我们可以通过使用–illegal-access=warn选项进一步显示出有用的 warning 提示

参考链接


http://www.niftyadmin.cn/n/5237468.html

相关文章

医院信息化专业人员必备医院业务运作及管理流程知识(详细)

业务流程是一家医院运作的基础,医院所有业务都需要流程加以驱动。熟知医院各项业务,了解医院管理流程,有利于医院工作人员更好地投入自身岗位,提高工作效率。本文整理了常见医院业务运作及管理流程,仅供参考! 【门诊业务】 一、门诊业务的特点: 1.接诊病人多,就诊时…

Kibana使用指南

使用介绍主要特点应用场景数据可视化还有哪些类型安装步骤安装配置参数Elasticsearch配置参数注意事项 使用介绍 Kibana是一个开源的分析与可视化平台,设计出来用于和Elasticsearch一起使用的。可以用Kibana搜索、查看、交互存放在Elasticsearch索引里的数据&#…

回调函数初学习

1、回调函数是什么 回调函数是一种在编程中常用的概念,它是指将一个函数作为参数传递给另一个函数,并在特定事件发生时被调用执行的函数。回调函数通常用于异步编程中,当某个操作完成后,系统会调用预先定义好的回调函数来处理结果…

中国人民大学加拿大女王大学金融硕士——从事金融行业学历真的很重要

在当今这个竞争激烈的社会,拥有一份高学历已经成为了许多人追求的目标。尤其是在金融行业,学历的重要性更是不言而喻。那么,如何在短时间内提升自己的学历和专业能力呢?中国人民大学与加拿大女王大学金融硕士项目或许是一个不错的…

12月4日作业

完成沙发床的多继承 #include <iostream>using namespace std;class Sofa { private:string sit;int *price; public:Sofa() {cout << "Sofa::无参构造函数" << endl;}Sofa(string sit,int price):sit(sit),price((new int(price))){cout <<…

使用 python ffmpeg 批量检查 音频文件 是否损坏或不完整

自用工具&#xff0c;检查下载的音乐是否有损坏 或 下载不完整 使用方法&#xff0c;把 in_dir r’D:\158首无损珍藏版’ 改成你自己的音乐文件夹路径 如果发现文件有损坏&#xff0c;则会在命令行打印错误文件的路径 注意&#xff0c;要求 ffmpeg 命令可以直接在命令行调用…

作业12.4

1.沙发床的多继承 #include <iostream>using namespace std; class Sofa { private:string sit; public://无参构造Sofa(){}//有参构造Sofa(string sit):sit(sit){}//拷贝构造Sofa(const Sofa &other):sit(other.sit){}//拷贝赋值Sofa &operator (const Sofa &…

关于栈的简单理解

1. 栈(Stack) 1.1 文字讲解 栈&#xff1a;一种特殊的线性表&#xff0c;其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶&#xff0c;另一端称为栈底。栈中的数据元素遵守后进先出LIFO&#xff08;Last In First Out&#xff09;的原则&a…