Gradle Kotlin:无法将使用JVM目标1.8构建的字节码内联到使用JVM目标1.6构建的字节码中

Gradle Kotlin:无法将使用JVM目标1.8构建的字节码内联到使用JVM目标1.6构建的字节码中,gradle,kotlin,Gradle,Kotlin,我在尝试向kotlin spring项目添加一些依赖项时遇到了一个问题。我使用spring启动初始值设定项来运行一个基本项目 我的问题是:如果我取消注释jackson或Koin dependency中的任何一个,那么我的构建就会失败,出现标题中提到的问题 以下是build.gradle.kts文件: import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { kotlin("plugin.jpa") vers

我在尝试向kotlin spring项目添加一些依赖项时遇到了一个问题。我使用spring启动初始值设定项来运行一个基本项目

我的问题是:如果我取消注释jackson或Koin dependency中的任何一个,那么我的构建就会失败,出现标题中提到的问题 以下是build.gradle.kts文件:

    import org.jetbrains.kotlin.gradle.tasks.KotlinCompile

plugins {
    kotlin("plugin.jpa") version "1.3.31"
    id("org.springframework.boot") version "2.2.0.M4"
    id("io.spring.dependency-management") version "1.0.7.RELEASE"
    kotlin("jvm") version "1.3.31"
    kotlin("plugin.spring") version "1.3.31"
}

group = "com.example"
version = "0.0.1-SNAPSHOT"
java.sourceCompatibility = JavaVersion.VERSION_1_8

val developmentOnly by configurations.creating
configurations {
    runtimeClasspath {
        extendsFrom(developmentOnly)
    }
}

repositories {
    mavenCentral()
    maven { url = uri("https://repo.spring.io/snapshot") }
    maven { url = uri("https://repo.spring.io/milestone") }
}

dependencies {
    implementation("org.springframework.boot:spring-boot-starter-data-jpa")
    implementation("org.springframework.boot:spring-boot-starter-thymeleaf")
    implementation("org.springframework.boot:spring-boot-starter-web")
    implementation("com.fasterxml.jackson.module:jackson-module-kotlin")
    implementation("org.jetbrains.kotlin:kotlin-reflect")
    implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8")
    developmentOnly("org.springframework.boot:spring-boot-devtools")
    runtimeOnly("com.h2database:h2")
    testImplementation("org.springframework.boot:spring-boot-starter-test") {
        exclude(group = "org.junit.vintage", module = "junit-vintage-engine")
        exclude(group = "junit", module = "junit")
    }

    // jackson
    //implementation("com.fasterxml.jackson.module:jackson-module-kotlin:2.9.+")

    // Koin
    //implementation("org.koin:koin-core:2.0.1")

    // Koin Test
    //implementation("org.koin:koin-test:2.0.1")
}

tasks.withType<Test> {
    useJUnitPlatform()
}

tasks.withType<KotlinCompile> {
    kotlinOptions {
        freeCompilerArgs = listOf("-Xjsr305=strict")
        jvmTarget = "1.8"
    }
}
import org.jetbrains.kotlin.gradle.tasks.kotlincomfile
插件{
kotlin(“plugin.jpa”)版本“1.3.31”
id(“org.springframework.boot”)版本“2.2.0.M4”
id(“io.spring.dependency management”)版本“1.0.7.RELEASE”
kotlin(“jvm”)版本“1.3.31”
kotlin(“plugin.spring”)版本“1.3.31”
}
group=“com.example”
version=“0.0.1-快照”
java.sourceCompatibility=JavaVersion.VERSION\u 1\u 8
val仅通过配置进行开发。正在创建
配置{
运行时类路径{
扩展自(仅限开发)
}
}
存储库{
mavenCentral()
maven{url=uri(“https://repo.spring.io/snapshot") }
maven{url=uri(“https://repo.spring.io/milestone") }
}
依赖关系{
实现(“org.springframework.boot:springbootstarterdatajpa”)
实现(“org.springframework.boot:springbootstartermyleaf”)
实现(“org.springframework.boot:springbootstarterweb”)
实现(“com.fasterxml.jackson.module:jackson模块kotlin”)
实施(“org.jetbrains.kotlin:kotlin reflect”)
实现(“org.jetbrains.kotlin:kotlin-stdlib-jdk8”)
仅限开发(“org.springframework.boot:springboot开发工具”)
仅限运行时(“com.h2数据库:h2”)
测试实现(“org.springframework.boot:springbootstarter测试”){
排除(group=“org.junit.vintage”,module=“junit vintage引擎”)
排除(group=“junit”,module=“junit”)
}
//杰克逊
//实现(“com.fasterxml.jackson.module:jackson模块kotlin:2.9.+”)
//科因
//实施(“org.koin:koin核心:2.0.1”)
//Koin试验
//实现(“org.koin:koin测试:2.0.1”)
}
tasks.withType{
useJUnitPlatform()
}
tasks.withType{
科特洛普斯酒店{
freeCompilerArgs=listOf(“-Xjsr305=strict”)
jvmTarget=“1.8”
}
}
我已经尝试了其他人提出的前一个问题的所有解决方案:


我已经在那里有了kotluncompilejvmtarget选项,它也已经在我的构建设置中设置好了。感谢您的帮助,谢谢

很多答案都是针对android的——使用kotlin编写spring boot应用程序的文档记录不完善,也不受支持,但仍然很棒。intelij中的此设置为我清除了此错误-希望它能帮助他人,我的kotlin编译器的目标设置为1.6: