在Kotlin中,使用JVM时,似乎标准库有多种选择,即kotlin-stdlib
,kotlin-stdlib-jdk7
和kotlin-stdlib-jdk8
。
但是,我找不到任何告诉我两者之间区别的信息。
我发现的唯一可见区别是我不能将com.fasterxml.jackson.databind.exc.MismatchedInputException
与kotlin-stdlib
一起使用,但是可以与kotlin-stdlib-jdk8
一起使用。
有什么地方我能比其他人更了解其优势,或者有人可以用外行的方式解释这一点?
最佳答案
顾名思义,使用JDK8时应使用-jdk8。它包含用于将JDK 8中所做的更改集成到Kotlin标准库中的代码。
如其pom所示,它依赖于-jdk7,该文件包含将JDK 7中所做的更改集成到Kotlin标准库中所需的代码。
正如-jdk7的pom所示,它取决于stdlib。
因此,简而言之,请使用与您的JDK匹配的一个。将其添加到依赖项还将可传递地添加JDK早期版本的所有依赖项。