下面的一些答案是,无法将使用JVM目标1.8构建的字节码内联到使用JVM目标1.6构建的字节码中,我有一个Kotlin Gradle DSL脚本,其中包含
tasks.compileKotlin {
sourceCompatibility = JavaVersion.VERSION_11.toString()
targetCompatibility = JavaVersion.VERSION_11.toString()
kotlinOptions {
jvmTarget = "11"
}
}
但升级到Kotlin 1.7.0后,我遇到了一个例外
Unresolved reference: sourceCompatibility
Unresolved reference: targetCompatibility
我很清楚,他们显然已经删除了这些,因为我发现它列在https://kotlinlang.org/docs/whatsnew17.html#changes-in-compile-tasks
我的问题是,我用什么来代替它?我应该如何确保保持兼容性?
设置JVM目标、Kotlin API和语言版本可以通过配置所有KotlinCompile任务来完成。
// build.gradle.kts
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
plugins {
kotlin("jvm") version "1.7.0"
}
// configure all Kotlin compilation tasks,
// using the Gradle configuration avoidance API
tasks.withType<KotlinCompile>().configureEach {
kotlinOptions {
jvmTarget = "11"
apiVersion = "1.6"
languageVersion = "1.6"
}
// you can also add additional compiler args,
// like opting in to experimental features
kotlinOptions.freeCompilerArgs += listOf(
"-opt-in=kotlin.RequiresOptIn",
)
}
所有编译器选项都记录在这里。其他构建工具也有额外的留档,如Maven和Ant。
您可以使用新的工具链功能来设置将用于编译项目的Java版本。
// build.gradle.kts
kotlin {
jvmToolchain {
languageVersion.set(JavaLanguageVersion.of("11"))
}
}
阅读更多:Gradle Java工具链支持
升级到最新的角度CLI后。我有以前没有的错误。其中之一是:referenceerror:未定义firebase 它指的是我的用户服务中的这一行: 如何解决这个问题?
我升级了我的AS,错误开始出现 我找了所有的地方,但我不能解决问题 这是我的构建。gradle(项目),脱机是未检查的,我做了无效和重启没有工作, 什么意思不能解决依赖?这是我在gradle(应用程序)中添加存储库时得到的结果
我遇到了一个错误 导入语句如下所示 Kotlin版本:1.1.51 提前致谢:)
在从删除kotlin_extensions切换到视图绑定之后,我在onBindViewHolder方法中收到了一个“Unresolded reference:MyViewholder”,当我将“MyViewholder”替换为“holder”时,它会给我一个“Unresolded reference:bind”。我怎么解决这个问题。 MyAdapter 我试着阅读Android Studio的官方
在将我的应用程序中的Vaadin从7.1.8升级到7.5.3之后,我遇到了一个奇怪的问题。 我的登录servlet无法处理任何请求,因为我认为Vaadin的安全密钥无效。 Vaadin现在使用elemental.json,当使用的第一次与应用程序交互时,我收到一个错误。 我浏览过SO和Vaadin论坛,我似乎是唯一有问题的人:( 任何帮助都将不胜感激。谢谢 这是堆栈 14:09:31,232 SE
我正在Android Studio中尝试Kotlin和Kotlin Android扩展。我在Ubuntu 14.04上的Android Studio v1.5.1和OS X El Capitan上的Android Studio v1.5.1中都进行了尝试,得到了相同的结果。 下面是我正在做的事情: null 然后进入生成的content_main.xml文件,并为“hello World!”添加一