개발 공부 기록하기/04. Spring & Spring Boot

Unable to find method java.lang.String org.jetbrains.kotlin.gradle.plugin.KotlinPluginWrapper.getKotlinPluginVersion() 원인

lannstark 2022. 8. 29. 23:59

회사에서 사용하는 프로젝트의 언어 (Kotlin), 프레임워크 (Spring Boot) 최신화를 하려고 하는 중인데 

Unable to find method ''java.lang.String org.jetbrains.kotlin.gradle.plugin.KotlinPluginWrapper.getKotlinPluginVersion()'' 'java.lang.String org.jetbrains.kotlin.gradle.plugin.KotlinPluginWrapper.getKotlinPluginVersion()' Gradle's dependency cache may be corrupt (this sometimes occurs after a network connection timeout.) Re-download dependencies and sync project (requires network) The state of a Gradle build process (daemon) may be corrupt. Stopping all Gradle daemons may solve this problem. Stop Gradle build processes (requires restart) Your project may be using a third-party plugin which is not compatible with the other plugins in the project or the version of Gradle requested by the project. In the case of corrupt Gradle processes, you can also try closing the IDE and then killing all Java processes.

와 같은 에러가 났다.

 

도저히 원인을 알 수 없어 열심히 구글링을 해보니, Kotlin 1.7.0부터 gradle plugin api 가 변경되었고

https://kotlinlang.org/docs/whatsnew17.html#updates-in-the-kotlin-gradle-plugin-api

 

What's new in Kotlin 1.7.0 | Kotlin

 

kotlinlang.org

그로 인해 spring boot와 kotlin이 제대로 결합되지 못하는 현상이 나온 것이었다.

현재 확인해본 바로는 spring boot 2.5.2부터 kotlin 1.7.0 이상을 사용할 수 있는 것으로 보인다.

https://github.com/spring-projects/spring-boot/issues/26947

 

Kotlin plugin's version shouldn't be read if the kotlin.version extra property has been set · Issue #26947 · spring-projects/s

Forward port of issue #26946 to 2.5.x.

github.com

2.5.2 Bug Fix 목록에 아래 항목이 들어가 있다.

  • Kotlin plugin's version shouldn't be read if the kotlin.version extra property has been set #26947

 

 

관련 Youtrack : 

https://youtrack.jetbrains.com/issue/KT-52790/Gradle-multi-module-NoSuchMethodError-KotlinPluginWrappergetKotlinPluginVersion

 

Gradle multi-module: NoSuchMethodError ... KotlinPluginWrapper.getKotlinPluginVersion() : KT-52790

I have multi-module project that has the following setup image.png Everything worked fine in Kotlin version 1.6.21 and older but once I switched to version 1.7.0 I started to get the error Caused by: java.lang.NoSuchMethodError: 'java.lang.String org.jetbr

youtrack.jetbrains.com

 

역시 언어, 프레임워크 버전업은 한 번에 하는 것보다 나올 때마다 점진적으로 하는게 최고인 것 같다 ㅎㅎㅎㅎ

코틀린 1.6.0 / 1.6.20 / 1.7.0 release note를 열심히 읽었는데 (시간이 된다면) 조만간 유튜브도 찍고 블로그 글도 올려봐야겠다.

이제 spring boot release note도 읽으러 가야 한다!!!!!!