Android/Error

오류 수정 방법 : Caused by: org.gradle.api.GradleException: 'compileDebugJavaWithJavac' task (current target is 17) and 'compileDebugKotlin' task (current target is 1.8) jvm target compatibility should be set to the same Java version.

애러 원인

애 애러는 현재 Kotlin 버전과,  Kotlin Compile 시 JVM 타겟 버전 설정이 달라서 생기는 문제이다.

Caused by: org.gradle.api.GradleException: 'compileDebugJavaWithJavac' task (current target is [Kotlin 타겟 버전]) and 'compileDebugKotlin' task (current target is [JVM 타겟 버전]) jvm target compatibility should be set to the same Java version.

 

애러 해결 방법

이 문제는 아주 간단히 해결 가능하다. app 수준의 build.gradle.kts 파일 혹은 build.gradle 파일에 아래와 같이 적혀 있을텐데 

android {
    ...
    kotlinOptions {
        jvmTarget = "[JVM 타겟 버전]"
    }
    ...
}

 

이 부분을 위에서 말하는 [Kotlin 타겟 버전]으로 변경하면 된다. 나는 현재 버전이 17이라고 나와 있기 때문에 jvmTarget을 17로 변경하였다.

'compileDebugJavaWithJavac' task (current target is 17) and 'compileDebugKotlin' task (current target is 1.8) jvm target compatibility should be set to the same Java version.

JDK 1.10버전 이상부터는 1. 을 붙이지 않고 서브버전명을 그대로 쓴다. 즉, 17이라고 쓰면 된다.

android {
    ...
    kotlinOptions {
        jvmTarget = "17"
    }
    ...
}

 

이렇게 하면 빌드가 성공하는 것을 볼 수 있다.

 

반응형

 

이 글의 저작권은 Dev World 에 있습니다. 글, 이미지 무단 재배포 및 변경을 금지합니다.

 

 

Kotlin, Android, Spring 사용자 오픈 카톡

오셔서 궁금한 점을 질문해보세요!
비밀번호 : kotlin22

open.kakao.com