[Kotlin] kotlin-stdlib, kotlin-stdlib-jdk7, kotlin-stdlib-jdk8 차이점

android 2019. 6. 19. 11:44

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

코틀린을 사용해보려고 프로젝트에 라이브러리를 추가하려고 검색해보니 아래의 3가지 버전이 있네요. 

implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"

implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"

implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"

 

안드로이드 스튜드오에서 기본으로 코틀린 사용 체크하고 만들어지는 기본 세팅에서는 "kotlin-stdlib-jdk7" 으로 설정되던데.. 궁금해서 검색해봐도 잘 안나와서 각각 변경해보면서 추가된 라이브러리를 비교해 봤습니다. 

kotlin-stdlib

당연히 가장 기본이 되는 표준 라이브러리 이고, dependency에 따라서 kotllin-stdlib-common 추가 됩니다. 

kotlin-stdlib

 

kotlin-stdlib-jdk7

kotlin-stdlib-jdk7

jdk7 관련된 라이브러리가 추가로 보이는데, 달랑 2개의 클래스가 있을 뿐이네요.  짐작해보면 jdk7에서 지원하는 AutoCloseable 관련된 확장함수 추가가 전부인것 같네요. 

kotlin-stdlib-jdk8

kotlin-stdlib-jdk8

jdk7이 자동으로 추가되면서, jdk8 언어에서 지원하는 몇가지 기능들에 대한 지원이 추가된것 같네요. 프로젝트에서 아래와 같이 java8을 타겟으로 설정해서 사용하고 있으면 이걸 추가해서 사용하면 될것 같네요. 

compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

 

추가로 kotlin-stdlib-jre7 같은것도 있었는데, 이름이 kotlin-stdlib-jdk7 으로 변경된것 같으니 jre 버전 사용중이었다면 jdk 버전으로 변경하면 됩니다. 



: