Как нацелиться на JVM 9 на Котлине с Gradle?

Ориентация JVM 1.8 на Kotlin с Gradle так же проста, как и

compileKotlin {
    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Но это не работает для Java 9, если я просто изменил jvmTarget на 9 или 1.9. Как я могу это сделать?

7 голосов | спросил MrPNG 12 72017vEurope/Moscow11bEurope/MoscowSun, 12 Nov 2017 16:01:57 +0300 2017, 16:01:57

1 ответ


0

Kotlin в настоящее время предназначен только для Java 6 и 8

См. часто задаваемые вопросы здесь https: //kotlinlang.org/docs/reference/faq.html#does-kotlin-only-target-java-6

Что на данный момент говорит

  

Kotlin предназначен только для Java 6?   Нет. Kotlin позволяет выбирать между генерацией байт-кода, совместимого с Java 6 и Java 8. Для более высоких версий платформы может быть сгенерирован более оптимальный байт-код.


изменить:

Итак ... поскольку это совместимость байт-кода, который генерирует kotlin, это не означает, что исправляет версию Java, которую вам нужно использовать.

Вот файл Gradle, который позволяет вам использовать Java 11 вместе с kotlin, генерирующим Java 8-совместимый байт-код

plugins {
    id 'java'
    id 'org.jetbrains.kotlin.jvm' version '1.2.71'
}

group 'com.dambra.paul.string-calculator'
version '0.0.0'

sourceCompatibility = 11.0

repositories {
    mavenCentral()
}

dependencies {
    testImplementation(
            'org.junit.jupiter:junit-jupiter-api:5.1.0'
    )
    testRuntimeOnly(
            'org.junit.jupiter:junit-jupiter-engine:5.1.0'
    )
    testCompile("org.assertj:assertj-core:3.11.1")
    testCompile 'org.junit.jupiter:junit-jupiter-params:5.1.0'
    compile "org.jetbrains.kotlin:kotlin-stdlib-jdk8"
}
compileKotlin {
    kotlinOptions {
        jvmTarget = "1.8"
    }
}
compileTestKotlin {
    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Вы не можете "нацелиться на jvm 9" с Kotlin. Но вы можете написать Kotlin вместе с Java (9 | 10 | 11 | и т. Д.)

ответил Paul D'Ambra 23 SatEurope/Moscow2017-12-23T14:16:48+03:00Europe/Moscow12bEurope/MoscowSat, 23 Dec 2017 14:16:48 +0300 2017, 14:16:48

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132