是否有可能使用jdk 7运行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 8运行等级,而项目jdk仍然是jdk7,构建成功。 这是预期的行为?

经过几个小时的研究,我终于find这个post:

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

Kotlin编译器现在需要运行JDK 8。 您不应该注意到任何更改,因为大多数其他Java开发工具(如Gradle和Android工具链)也需要JDK 8,所以您几乎可以肯定已经安装了它。 对于由编译器生成的代码,Java 1.6的兼容性仍然是默认的,我们没有计划放弃生成Java 1.6兼容字节码的支持。

所以答案是否定的