After upgrading IntelliJ IDEA from 2023.1.1 to 2024.1.3, I compiled a Maven project and got:
Kotlin: [Internal Error] java.lang.NoSuchFieldError: FILE_HASHING_STRATEGY
Complete stacktrace:
Kotlin: [Internal Error] java.lang.NoSuchFieldError: FILE_HASHING_STRATEGY
at org.jetbrains.kotlin.jps.targets.KotlinJvmModuleBuildTarget.updateChunkMappings(KotlinJvmModuleBuildTarget.kt:362)
at org.jetbrains.kotlin.jps.build.KotlinBuilder.doBuild(KotlinBuilder.kt:463)
at org.jetbrains.kotlin.jps.build.KotlinBuilder.build(KotlinBuilder.kt:299)
at org.jetbrains.jps.incremental.IncProjectBuilder.runModuleLevelBuilders(IncProjectBuilder.java:1609)
at org.jetbrains.jps.incremental.IncProjectBuilder.runBuildersForChunk(IncProjectBuilder.java:1238)
at org.jetbrains.jps.incremental.IncProjectBuilder.buildTargetsChunk(IncProjectBuilder.java:1389)
at org.jetbrains.jps.incremental.IncProjectBuilder.buildChunkIfAffected(IncProjectBuilder.java:1203)
at org.jetbrains.jps.incremental.IncProjectBuilder.buildChunks(IncProjectBuilder.java:971)
at org.jetbrains.jps.incremental.IncProjectBuilder.runBuild(IncProjectBuilder.java:527)
at org.jetbrains.jps.incremental.IncProjectBuilder.build(IncProjectBuilder.java:236)
at org.jetbrains.jps.cmdline.BuildRunner.runBuild(BuildRunner.java:135)
at org.jetbrains.jps.cmdline.BuildSession.runBuild(BuildSession.java:387)
at org.jetbrains.jps.cmdline.BuildSession.run(BuildSession.java:212)
at org.jetbrains.jps.cmdline.BuildMain$MyMessageHandler.lambda$channelRead0$0(BuildMain.java:211)
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)
Quick fix:
In the POM, I upgraded Java and Kotlin versions to:
<java.version>17</java.version>
<kotlin.version>1.9.24</kotlin.version>
(I assume I could have raised Java to a more recent version, but for the moment by corporate rules we must not go beyond JDK 17)