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

使用IntelliJ运行Kotlin程序时出现非法反射访问操作求助

解决IntelliJ运行Kotlin程序时的非法反射访问警告

我之前也碰到过完全一样的问题!你看到的这个警告本质是旧版本IntelliJ IDEA(你的是2019.1)搭配的Kotlin编译器,和JDK 9+的模块系统访问限制不兼容导致的——新版本JDK收紧了对内部API的访问权限,而旧版IDE的工具类还在通过反射调用这些受限API,所以触发了警告。另外你提到Hello World无法正常运行,其实大概率程序已经执行了,只是警告信息把输出覆盖了,你可以仔细看看控制台的日志底部有没有Hello World!的输出。

下面是几个有效解决办法:

  • 优先升级IntelliJ IDEA到最新稳定版
    2019.1版本确实比较老旧,JetBrains在后续的版本中已经修复了这个JDK模块兼容的问题。你可以直接通过File > Settings > Appearance & Behavior > System Settings > Updates检查并安装最新版,升级后这个警告基本会直接消失。

  • 临时添加JVM参数抑制警告(不想升级时用)
    如果暂时不想升级IDE,你可以给运行配置添加专属的JVM参数来解决:

    1. 点击IntelliJ右上角的运行配置下拉框,选择Edit Configurations
    2. 在弹出的窗口里找到你的Kotlin应用配置,切换到Configuration标签页
    3. 在VM options输入框中添加以下参数:
      --add-opens java.xml/com.sun.xml.internal.stream=ALL-UNNAMED
      
      这个参数会明确允许Kotlin编译器相关的类访问JDK内部的XML流API,彻底消除这个反射警告。
  • 确保Kotlin插件与编译器版本同步
    虽然你说已经检查过Kotlin更新,但还是要确认IDE的Kotlin插件版本和项目依赖的Kotlin版本完全一致。可以通过File > Settings > Languages & Frameworks > Kotlin查看插件版本,同时检查项目的build.gradle(或build.gradle.kts)里的Kotlin依赖版本,保证两者统一,避免版本不兼容带来的额外问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 08:16:23