¿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.

  • Referencia no resuelta: kotlinx
  • Orden de datos de spring por function de Java
  • Filtro para tipo genérico sin reflexión o casting
  • El suscriptor RxJava2 PublishSubject no puede recibir elementos cuando se le llama desde varios hilos usando SingleScheduler
  • Error al ejecutar un proyecto de Android (escrito en Kotlin) comstackdo con el complemento Gradle2.0.0-alpha
  • NoClassDefFoundError cuando se usa Expuesto
  • Parámetro de conflicto de visibilidad efectiva entre java y kotlin
  • Uso de Kotlin Coroutines en Android
  • Kotlin type mistmatch () -> SomeType vs SomeType
  • Lanzamiento inteligente a kotlin.String
  • Recolectando artículos con las transmisiones de Kotlin