微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用gradle向scala项目添加java编译器“发布”标志

如何解决如何使用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 举报,一经查实,本站将立刻删除。