项目场景:
在IDEA 2019 中集成Springboot 3.1.3 框架,运行异常。
<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><modules><module>first-dev</module></modules><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.1.3</version></parent><groupId>org.bc</groupId><artifactId>springboot3-dev</artifactId><version>1.0-SNAPSHOT</version><packaging>pom</packaging><name>springboot3-dev</name><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency></dependencies></project>
问题描述
控制台提示如下:
Error:Internal error: (java.lang.IllegalAccessError) class com.intellij.util.io.FileChannelUtil (in unnamed module @0x12d3a4e9) cannot access class sun.nio.ch.FileChannelImpl (in module java.base) because module java.base does not export sun.nio.ch to unnamed module @0x12d3a4e9
java.lang.IllegalAccessError: class com.intellij.util.io.FileChannelUtil (in unnamed module @0x12d3a4e9) cannot access class sun.nio.ch.FileChannelImpl (in module java.base) because module java.base does not export sun.nio.ch to unnamed module @0x12d3a4e9at 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.put(PagedFileStorage.java:278)at com.intellij.util.io.PagedFileStorage.fillWithZeros(PagedFileStorage.java:356)at com.intellij.util.io.PagedFileStorage.resize(PagedFileStorage.java:330)at com.intellij.util.io.ResizeableMappedFile.expand(ResizeableMappedFile.java:108)at com.intellij.util.io.ResizeableMappedFile.ensureSize(ResizeableMappedFile.java:77)at com.intellij.util.io.ResizeableMappedFile.putInt(ResizeableMappedFile.java:221)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)
原因分析:
intelliJ IDEA 2019 JDK 版本不匹配,Springboot 3.1.3使用的JDK是JDK18,intelliJ IDEA 2019不支持。
解决方案:
更换IDEA至IDEA 2021直接导入即可。