¿Es posible ejecutar el complemento de grado kotlin usando jdk 7?

Mi proyecto usa jdk 7 por razones de compatibilidad.

porción inferior de build.gradle

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

Cuando uso jdk 7 para gradle, obtengo esto:

 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 

Si cambio a jdk 8 para ejecutar el grado mientras el proyecto jdk sigue siendo jdk7, la compilation tiene éxito. ¿Es este comportamiento esperado?

Después de horas de investigación, finalmente encontré esta publicación:

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

El comstackdor de Kotlin ahora requiere JDK 8 para ejecutarse. No debe notar ningún cambio, porque la mayoría de las demás herramientas de desarrollo de Java, como Gradle y la cadena de herramientas de Android también requieren JDK 8, por lo que es casi seguro que ya lo haya instalado. Para el código generado por el comstackdor, la compatibilidad con Java 1.6 sigue siendo la pnetworkingeterminada, y no tenemos planes de dejar de admitir la generación de código de bytes compatible con Java 1.6.

Por tanto, la respuesta es no.

  • Kotlin Assign Delegate después de statement de variable
  • Android 4.x VerifyError causado por el método de Kotlin
  • Kotlin - Cómo agregar OnPageChangeListener en ViewPager
  • Crear MediaPlayer dentro de for loop
  • Verifique lists de objects para igualdad sin control de order en su propiedad Lista
  • Intellij Idea no comstackrá kotlin pero maven lo hace
  • Convertir la function de raíz imperativa en estilo funcional en kotlin
  • Clase de extensión genérica con object compañero en Kotlin
  • Prueba de unidad Kotlin para parámetro de function y object
  • Montaje de Kotlin + Maven: sin atributo de manifiesto principal
  • Retrofit + Deserialization GSON + Relación de reino