intellij-idea - 是否可以使用JDK 7运行Kotlin等级插件

标签 intellij-idea gradle kotlin

由于兼容性原因,我的项目使用jdk 7。
build.gradle的底部

buildscript {
    ext.kotlin_version = '1.2.0'
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}

当我将jdk 7用于gradle时,得到以下信息:
java.lang.UnsupportedClassVersionError: org/jetbrains/kotlin/gradle/KotlinGradleModel : Unsupported major.minor version 52.0
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
    at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:270)
    at org.gradle.tooling.internal.provider.serialization.DefaultPayloadClassLoaderRegistry$2.resolveClass(DefaultPayloadClassLoaderRegistry.java:91)
    at org.gradle.tooling.internal.provider.serialization.WellKnownClassLoaderRegistry$2.resolveClass(WellKnownClassLoaderRegistry.java:91)
    at org.gradle.tooling.internal.provider.serialization.PayloadSerializerObjectInputStream.readClass(PayloadSerializerObjectInputStream.java:66)
  ... cut

如果在项目jdk仍然是jdk7时切换到jdk 8进行运行,则构建成功。这是预期的行为吗?

最佳答案

经过数小时的研究,我终于找到了这篇文章:

https://blog.jetbrains.com/kotlin/2017/04/kotlin-1-1-2-is-out/

The Kotlin compiler now requires JDK 8 to run. You shouldn’t notice any changes, because most other Java development tools such as Gradle and the Android toolchain also require JDK 8, so you almost certainly already have it installed. For code generated by the compiler, Java 1.6 compatibility is still the default, and we have no plans to drop support for generating Java 1.6 compatible bytecode.



因此,答案是否定的。

关于intellij-idea - 是否可以使用JDK 7运行Kotlin等级插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47673394/

相关文章:

android - Kotlin 结合了 2 个以上的流程

android - 使用MVVM在RecyclerView的网格和线性之间切换的更好方法是什么?

eclipse - 自动化测试开发环境

node.js - Intellij Idea 和 WebStorm NPM 版本最新及更多

java - IntelliJ IDEA - 将 .java 文件添加到项目依赖项

java - IntelliJ IDEA 注释处理不会在配置的文件夹中生成源

android - Android:在从Android Studio访问之前,gradle无法正常工作

android - 在路径 : DexPathList on lower API <= 19 devices 上找不到类 “androidx.multidex.MultiDexApplication”

hadoop - Gradle 用 logback 替换传递依赖 log4j

android - Kotlin 代码从可变列表中删除一种特定类型的重复对象