如何解决如何使用gradle向scala项目添加java编译器“发布”标志
我有一个用 gradle 构建的基于 Scala 的项目,它包含 java 和 Scala 代码。我们正在从 oracle jdk 8 升级到 OpenJDK11。我们正在通过向编译器添加发布标志来升级与 JDK8 兼容的二进制文件。 我通过
为java文件实现了这一点if(JavaVersion.current() > JavaVersion.VERSION_1_9) {
subprojects {
tasks.withType(JavaCompile) {
options.compilerArgs += ["--release","8"]
}
tasks.withType(ScalaCompile) {
options.compilerArgs += ["--release","8"]
}
}
}
在 build.gradle 中。这工作正常,即构建似乎添加了发布标志,为了测试这一点,我向 java 类添加了 JDK 11 特定的更改。即在 java 类中使用 String.repeat 并且编译器抛出错误,但如果我将相同的内容添加到 scala 类中,它会编译而不会报告 repeat() 不是可用方法的错误。 我错过了什么是将发布标志添加到 Scala 编译意味着什么,或者我怎样才能做到这一点? 目的是让二进制文件在 JDK 8 或 JDK11 上运行,我们现在可以妥协使用基于 JDK11 的新功能。所以我需要确保没有其他开发人员添加 jdk11 特定代码,以便我们最终解决运行时问题。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。