项目场景:
在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 @0x12d3a4e9
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.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直接导入即可。