TroubleShooting

Kotlin: Cannot inline bytecode built with JVM target 11 into bytecode that is being built with JVM target 1.8. Please specify proper '-jvm-target' option

에디개발자 2021. 7. 5. 07:00
반응형

나를 닮았다고 한다...


문제

기존에 진행하던 프로젝트에 메모리 문제가 있어 지우고 새로 받아 테스트 코드를 돌렸는데 에러 발생

Kotlin: Cannot inline bytecode built with JVM target 11 into bytecode that is being built with JVM target 1.8. Please specify proper '-jvm-target' option

 


원인

JVM 11로 컴파일했는데 1.8로 컴파일을 하면 안된다!!

원인은 intellij 설정에서 JVM 11 로 설정이 되있지 않아서 해당 문제가 발생하였습니다. 

 


해결

Project Structure

진입 방법: file > project Structure 

1. project 에서 sdk 설정을 버전에 맞게 설정합니다.

 

2. Modules 에서 language Level 변경 (main)

 

3. main 패키지 하위에 kotlin을 선택 후 Target platform 변경

 

4.  Modules 에서 Language Level 변경 ( test )

 

5. test 패키지 하위 Kotlin 선택 후 Target platform 변경


Preferences

진입방법: Intellij IDEA > Preferences

 

1. Compiler > Java Compiler 에서 Project bytecode version 변경

 

2. Compiler > Kotlin Compiler에서 Target JVM version 변경

 


build.gradle.kts

kotlinComplie 지정합니다. ( 본인은 11로 사용중이므로 11로 설정 )

tasks.withType<org.jetbrains.kotlin.gradle.tasks.KotlinCompile> {
    kotlinOptions {
        jvmTarget = "11"
    }
}
반응형