반응형
들어가며
어느날 intellij 의 kotlin 이 빌드가 안되는 현상이 발생했습니다. 구글링 해보아도 해결책이 보이지 않았는데요.
이리 저리 확인해보다가 해결한 방법 공유드립니다.
에러 내용
첨보는 내용이라 당황스러웠어요.
Kotlin: [Internal Error] java.lang.NoSuchFieldError: FILE_HASHING_STRATEGY
at org.jetbrains.kotlin.jps.targets.KotlinJvmModuleBuildTarget.updateChunkMappings(KotlinJvmModuleBuildTarget.kt:357)
at org.jetbrains.kotlin.jps.build.KotlinBuilder.doBuild(KotlinBuilder.kt:468)
at org.jetbrains.kotlin.jps.build.KotlinBuilder.build(KotlinBuilder.kt:308)
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:134)
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:840)
해결 방법
Preferences -> Build, Execution, Deployment -> Compiler -> Kotlin Compiler 이동
Intellij 버전이 높아짐에 따라 Kotlin 버전에 영향이 있었고 과거에 만들어진 프로젝트의 Kotlin Compiler 버전이 낮아 발생을 한것 입니다.
Kotlin compiler version 의 버전을 상위 버전으로 변경하면 해결 됩니다.
스크린샷의 버전은 참고용입니다. ^^
읽어주셔서 감사합니다.
반응형
'개발 > 코틀린' 카테고리의 다른 글
Kotlin) reduce 와 fold (0) | 2024.01.18 |
---|