林谿 2024-11-13 19:16 采纳率: 48.7%
浏览 43

java17在idea运行报错

从官方下载的zip包,配了环境变量但是运行时报错了。
报错如下:

Error:Internal error: (java.lang.IllegalAccessError) class com.intellij.util.io.FileChannelUtil (in unnamed module @0x23282c25) cannot access class sun.nio.ch.FileChannelImpl (in module java.base) because module java.base does not export sun.nio.ch to unnamed module @0x23282c25
java.lang.IllegalAccessError: class com.intellij.util.io.FileChannelUtil (in unnamed module @0x23282c25) cannot access class sun.nio.ch.FileChannelImpl (in module java.base) because module java.base does not export sun.nio.ch to unnamed module @0x23282c25
    at com.intellij.util.io.FileChannelUtil.setupUnInterruptibleHandle(FileChannelUtil.java:26)
    at com.intellij.util.io.FileChannelUtil.<clinit>(FileChannelUtil.java:18)
    at com.intellij.util.io.ReadWriteDirectBufferWrapper$FileContext$1.execute(ReadWriteDirectBufferWrapper.java:50)
    at com.intellij.util.io.ReadWriteDirectBufferWrapper$FileContext$1.execute(ReadWriteDirectBufferWrapper.java:42)
    at com.intellij.openapi.util.io.FileUtilRt.doIOOperation(FileUtilRt.java:945)
    at com.intellij.util.io.ReadWriteDirectBufferWrapper$FileContext.<init>(ReadWriteDirectBufferWrapper.java:42)
    at com.intellij.util.io.ReadWriteDirectBufferWrapper.create(ReadWriteDirectBufferWrapper.java:27)
    at com.intellij.util.io.DirectBufferWrapper.getBuffer(DirectBufferWrapper.java:24)
    at com.intellij.util.io.ReadWriteDirectBufferWrapper.getBuffer(ReadWriteDirectBufferWrapper.java:16)
    at com.intellij.util.io.PagedFileStorage$StorageLock.createValue(PagedFileStorage.java:631)
    at com.intellij.util.io.PagedFileStorage$StorageLock.get(PagedFileStorage.java:558)
    at com.intellij.util.io.PagedFileStorage$StorageLock.access$500(PagedFileStorage.java:466)
    at com.intellij.util.io.PagedFileStorage.getBufferWrapper(PagedFileStorage.java:407)
    at com.intellij.util.io.PagedFileStorage.getBuffer(PagedFileStorage.java:371)
    at com.intellij.util.io.PagedFileStorage.putInt(PagedFileStorage.java:144)
    at com.intellij.util.io.ResizeableMappedFile.putInt(ResizeableMappedFile.java:222)
    at com.intellij.util.io.PersistentEnumeratorBase.markDirty(PersistentEnumeratorBase.java:597)
    at com.intellij.util.io.PersistentEnumeratorBase.<init>(PersistentEnumeratorBase.java:185)
    at com.intellij.util.io.PersistentBTreeEnumerator.<init>(PersistentBTreeEnumerator.java:73)
    at com.intellij.util.io.PersistentEnumeratorDelegate.<init>(PersistentEnumeratorDelegate.java:47)
    at com.intellij.util.io.PersistentHashMap.<init>(PersistentHashMap.java:149)
    at com.intellij.util.io.PersistentHashMap.<init>(PersistentHashMap.java:138)
    at com.intellij.util.io.PersistentHashMap.<init>(PersistentHashMap.java:129)
    at com.intellij.util.io.PersistentHashMap.<init>(PersistentHashMap.java:121)
    at com.intellij.util.io.PersistentHashMap.<init>(PersistentHashMap.java:114)
    at org.jetbrains.jps.incremental.storage.AbstractStateStorage.createMap(AbstractStateStorage.java:124)
    at org.jetbrains.jps.incremental.storage.AbstractStateStorage.<init>(AbstractStateStorage.java:27)
    at org.jetbrains.jps.incremental.storage.FileTimestampStorage.<init>(FileTimestampStorage.java:27)
    at org.jetbrains.jps.incremental.storage.ProjectStamps.<init>(ProjectStamps.java:39)
    at org.jetbrains.jps.incremental.storage.ProjectTimestamps.<init>(ProjectTimestamps.java:19)
    at org.jetbrains.jps.cmdline.BuildRunner.load(BuildRunner.java:92)
    at org.jetbrains.jps.cmdline.BuildSession.runBuild(BuildSession.java:274)
    at org.jetbrains.jps.cmdline.BuildSession.run(BuildSession.java:130)
    at org.jetbrains.jps.cmdline.BuildMain$MyMessageHandler.lambda$channelRead0$0(BuildMain.java:232)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
    at java.base/java.lang.Thread.run(Thread.java:833)

java地址如下:

img


环境变量配置如下:

img


版本检查如下:

img

  • 写回答

1条回答 默认 最新

  • 啊松同学 2024-11-14 10:00
    关注

    这个错误通常是在使用 Java 9 或更高版本 时出现的,原因是 Java 9 引入了 模块系统,并限制了不同模块之间的访问权限。特别是 sun.nio.ch.FileChannelImpl 是 Java 内部的 API,并没有公开暴露给外部模块,因此无法被其他模块直接访问。
    两种方案:
    1.IDEA找到 Project Structure,在 Run/Debug Configurations 中,添加 JVM 参数:--add-exports java.base/sun.nio.ch=ALL-UNNAMED
    2.降级使用JDK8

    评论

报告相同问题?

问题事件

  • 创建了问题 11月13日