如何解决 JDK 17 中 Field.setAccessible 的 InaccessibleObjectException?

2024-04-11

使用 JDK 17,不可能再使用反射来访问字段,至少对于java.lang- 课程。以下片段:

final Process process = new ProcessBuilder().directory(new File("d:/temp")).command("cmd.exe").start();
final Field handleField = process.getClass().getDeclaredField("handle");
handleField.setAccessible(true);

失败并显示:

Exception in thread "main" java.lang.reflect.InaccessibleObjectException: Unable to make field private final long java.lang.ProcessImpl.handle accessible: module java.base does not "opens java.lang" to unnamed module @254989ff
    at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354)
    at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
    at java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:178)
    at java.base/java.lang.reflect.Field.setAccessible(Field.java:172)

有办法解决这个问题吗?


As 这个答案 https://stackoverflow.com/a/41265267/241453指出,一种解决方案是添加以下 VM 选项:

java --add-opens java.base/java.lang=ALL-UNNAMED
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何解决 JDK 17 中 Field.setAccessible 的 InaccessibleObjectException? 的相关文章

  • 如何为最终用户方便地启动Java GUI程序

    用户想要从以下位置启动 Java GUI 应用程序Windows 以及一些额外的 JVM 参数 例如 javaw Djava util logging config file logging properties jar MyGUI jar
  • Spring Batch 多线程 - 如何使每个线程读取唯一的记录?

    这个问题在很多论坛上都被问过很多次了 但我没有看到适合我的答案 我正在尝试在我的 Spring Batch 实现中实现多线程步骤 有一个包含 100k 条记录的临时表 想要在 10 个线程中处理它 每个线程的提交间隔为 300 因此在任何时
  • Java中反射是如何实现的?

    Java 7 语言规范很早就指出 本规范没有详细描述反射 我只是想知道 反射在Java中是如何实现的 我不是问它是如何使用的 我知道可能没有我正在寻找的具体答案 但任何信息将不胜感激 我在 Stackoverflow 上发现了这个 关于 C
  • 如何找到给定字符串的最长重复子串

    我是java新手 我被分配寻找字符串的最长子字符串 我在网上研究 似乎解决这个问题的好方法是实现后缀树 请告诉我如何做到这一点或者您是否有任何其他解决方案 请记住 这应该是在 Java 知识水平较低的情况下完成的 提前致谢 附 测试仪字符串
  • INSERT..RETURNING 在 JOOQ 中不起作用

    我有一个 MariaDB 数据库 我正在尝试在表中插入一行users 它有一个生成的id我想在插入后得到它 我见过this http www jooq org doc 3 8 manual sql building sql statemen
  • JavaMail 只获取新邮件

    我想知道是否有一种方法可以在javamail中只获取新消息 例如 在初始加载时 获取收件箱中的所有消息并存储它们 然后 每当应用程序再次加载时 仅获取新消息 而不是再次重新加载它们 javamail 可以做到这一点吗 它是如何工作的 一些背
  • 操作错误不会显示在 JSP 上

    我尝试在 Action 类中添加操作错误并将其打印在 JSP 页面上 当发生异常时 它将进入 catch 块并在控制台中打印 插入异常时出错 请联系管理员 在 catch 块中 我添加了它addActionError 我尝试在jsp页面中打
  • 路径中 File.separator 和斜杠之间的区别

    使用有什么区别File separator和一个正常的 在 Java 路径字符串中 与双反斜杠相反 平台独立性似乎不是原因 因为两个版本都可以在 Windows 和 Unix 下运行 public class SlashTest Test
  • 十进制到八进制的转换[重复]

    这个问题在这里已经有答案了 可能的重复 十进制转换错误 https stackoverflow com questions 13142977 decimal conversion error 我正在为一个类编写一个程序 并且在计算如何将八进
  • 动态加载程序集的应用程序配置

    我正在尝试将模块动态加载到我的应用程序中 但我想为每个模块指定单独的 app config 文件 假设我的主应用程序有以下 app config 设置
  • 如何为俚语和表情符号构建正则表达式 (regex)

    我需要构建一个正则表达式来匹配俚语 即 lol lmao imo 等 和表情符号 即 P 等 我按照以下示例进行操作http www coderanch com t 497238 java java Regular Expression D
  • getResourceAsStream() 可以找到 jar 文件之外的文件吗?

    我正在开发一个应用程序 该应用程序使用一个加载配置文件的库 InputStream in getClass getResourceAsStream resource 然后我的应用程序打包在一个 jar文件 如果resource是在里面 ja
  • 加密 JBoss 配置中的敏感信息

    JBoss 中的标准数据源配置要求数据库用户的用户名和密码位于 xxx ds xml 文件中 如果我将数据源定义为 c3p0 mbean 我会遇到同样的问题 是否有标准方法来加密用户和密码 保存密钥的好地方是什么 这当然也与 tomcat
  • Java Integer CompareTo() - 为什么使用比较与减法?

    我发现java lang Integer实施compareTo方法如下 public int compareTo Integer anotherInteger int thisVal this value int anotherVal an
  • 如何从指定日期获取上周五的日期? [复制]

    这个问题在这里已经有答案了 如何找出上一个 上一个 星期五 或指定日期的任何其他日期的日期 public getDateOnDay Date date String dayName 我不会给出答案 先自己尝试一下 但是 也许这些提示可以帮助
  • Java列表的线程安全

    我有一个列表 它将在线程安全上下文或非线程安全上下文中使用 究竟会是哪一个 无法提前确定 在这种特殊情况下 每当列表进入非线程安全上下文时 我都会使用它来包装它 Collections synchronizedList 但如果不进入非线程安
  • 如何在桌面浏览器上使用 webdriver 移动网络

    我正在使用 selenium webdriver 进行 AUT 被测应用程序 的功能测试自动化 AUT 是响应式网络 我几乎完成了桌面浏览器的不同测试用例 现在 相同的测试用例也适用于移动浏览器 因为可以从移动浏览器访问 AUT 由于它是响
  • JGit 检查分支是否已签出

    我正在使用 JGit 开发一个项目 我设法删除了一个分支 但我还想检查该分支是否已签出 我发现了一个变量CheckoutCommand但它是私有的 private boolean isCheckoutIndex return startCo
  • java.lang.IllegalStateException:驱动程序可执行文件的路径必须由 webdriver.chrome.driver 系统属性设置 - Similiar 不回答

    尝试学习 Selenium 我打开了类似的问题 但似乎没有任何帮助 我的代码 package seleniumPractice import org openqa selenium WebDriver import org openqa s
  • 将 List 转换为 JSON

    Hi guys 有人可以帮助我 如何将我的 HQL 查询结果转换为带有对象列表的 JSON 并通过休息服务获取它 这是我的服务方法 它返回查询结果列表 Override public List

随机推荐

  • 如何从缓冲图像中获取子图像

    我们可以使用 BufferedImage 获取子图像getSubimage int int int int 但我的问题是我想通过传递双值来获得精确的子图像 矩形图像 width and height 有什么替代方案吗 将 double 值转
  • FragmentTransation setCustomAnimations 不起作用

    我尝试使用新的 android 兼容性包将片段包含到我的项目中 我试图在添加新片段时包含过渡动画 这只是我的动画作品之一 In 动画有效 但 Out 动画无效 我在某处读到这是兼容性包中的一个错误 但我还了解到该错误已在兼容性包的第三版中修
  • 是否有从 Maven 到 Bazel 的迁移路径?

    现在巴泽尔 http bazel io http bazel io 已经开源了 是否有一个增量过程可以让我逐渐从 Maven 迁移 一个大型存储库 到 Bazel 我在研究巴泽尔 不 据我们所知 没有这样的过程 我希望 我们一直在运行一些从
  • iOS Swift 3 参数前面有下划线

    今天我在Xcode中打开我的项目 需要将当前的Swift转换为Swift 3 转换后 我发现函数的所有参数前面都有一个下划线 例如 func didGetWeather weather Weather 我尝试去掉下划线 效果很好 我想知道这
  • IE9 ReactJs 中未定义“Set”或“Map”

    我使用 React 16 2 0 创建了一个简单的应用程序 当我在 IE9 上执行 运行它时 它显示控制台错误 Set 或 Map 未定义 我发现在 IE9 上运行我的 React 应用程序需要一些填充 我按照以下步骤操作 它对我有用 由于
  • MPL pos 是一个未记录的元函数吗?

    里面有下面的示例代码BOOST MPL 文档find算法 http www boost org doc libs 1 46 1 libs mpl doc refmanual find html typedef vector
  • 什么是部分视图?

    我一直在使用 Codeigniter 来习惯模型 视图 控制器架构 并尝试加快制作和实现网站的过程 我不断看到对 部分视图 的引用 但找不到该术语的定义 谁能告诉我什么是部分视图以及它在哪里使用 部分视图只是可以包含在父视图中的子视图 我们
  • Sonata 管理捆绑包 - 表单类型:sonata_type_collection - 自定义模板?

    是否可以覆盖表单类型的模板 sonata type collection 我已经尝试过以下方法 formMapper gt add slides sonata type collection array array edit gt inli
  • 如何将“element.offsetParent”与 HTML SVG 元素一起使用?

    我正在对一些 javascript 进行维护 它使用 offsetParent http www quirksmode org js findpos html财产 最近的更改现在使应用程序使用 SVG 元素 并且它们破坏了 JavaScri
  • 如何在 Iphone 上显示带有 UIButton 的 UINavigationController?

    在我的应用程序中 第一个视图是一个 UIView 带有几个 uilabel 和一个 uibutton 来进行登录 我想在登录后显示一个带有表格的 uinavigationcontroller 因此可以使用按钮的操作 我知道如何从 Xcode
  • Python 中的(命名)元组字典和速度/RAM 性能

    我正在创建一本字典d一百万个元组项目 理想情况下我想通过以下方式访问它们 d 1634 id or d 1634 id d 1634 name or d 1634 name d 1634 isvalid or d 1634 isvalid
  • 如何使用 vba 将临时记录集导出到 csv 文件

    我有一个 MS Access 表 正在跟踪 50 种产品及其每日销量 我想使用 vba 1 csv 文件 包括标题 导出每个产品 显示记录集中的每日交易量 而不将记录集保存到永久查询 我正在使用下面的代码 但我陷入了下面代码中突出显示的实际
  • 如何在静态服务器上托管 ReactJS 项目

    我已经构建了一个 React 应用程序 它在本地服务器上运行良好 但是 当我运行 npm run build 时 该过程似乎正确执行 创建 build 文件夹 其中包含捆绑的 js 文件和 index html 文件 但是当我在浏览器中打开
  • 每个用户的子域

    我拥有一个网站 为每个注册用户提供一个专用空间 如下所示 www mywebpage com user1 www mywebpage com user2 www mywebpage com user3在这条路径中 用户有他的迷你网站 我想为
  • 自定义内联SeekBarPreference - 如何在第一次运行时设置SeekBar进度?

    我已经准备好了一个简单的测试项目 https github com afarber android newbie tree q19 MyPrefs我在 GitHub 上提出的问题 我的项目中有一个自定义inline 搜索栏首选项 https
  • Python ctypes:带有 LPCSTR [out] 参数的原型

    我目前正在进入ctypes模块 我正在尝试调用 user32 函数GetWindowText http msdn microsoft com en us library windows desktop ms633520 28v vs 85
  • SSL23_GET_SERVER_HELLO:未知协议[连接到msa(587)端口]

    当新用户注册并忘记密码时 我正在尝试发送电子邮件 我正在 Linux 上工作 该应用程序是使用 node js 开发的 Error Error 140020013401920 error 140770FC SSL routines SSL2
  • d3js 将标签移动到节点旁边

    我正在开发一个通过图表进行模式表示的项目 我来从 json 检索数据以生成图形并找到与节点关联的标签 我还想找到与链接对应的标签 但是 当移动节点时 我无法移动标签 有什么帮助吗 请参阅此处的代码 http jsfiddle net obo
  • Matlab 中行索引的笛卡尔积

    我有一个二进制矩阵A维度的mxn with m gt n在Matlab中 我想构造一个矩阵B维度的cxn按行列出包含在中的行索引的笛卡尔积的每个元素A 为了更清楚地考虑以下示例 例子 m 4 n 3 A 1 0 1 0 0 1 1 1 0
  • 如何解决 JDK 17 中 Field.setAccessible 的 InaccessibleObjectException?

    使用 JDK 17 不可能再使用反射来访问字段 至少对于java lang 课程 以下片段 final Process process new ProcessBuilder directory new File d temp command