我正在尝试使用 JDK 9 构建一个项目,因为使用--release
javac 的参数意味着它可以为旧版本构建,而无需安装相应的 JDK/JRE。我需要支持 Java 6,所以我预先存在的设置需要 Java 6 用于 bootstrapClasspath,另外需要 JDK 8 或 9 用于 gradle 和 IDE。我想取消 JDK 6,而只使用 9,并稍微整理一下构建。
我的新 build.gradle 具有以下配置:
tasks.withType(JavaCompile) {
options.compilerArgs.addAll(['--release', '6', "-Xlint"])
}
,和选项没有设置,因为我知道sourceCompatibility
参数现在处理这个。targetCompatibility
bootstrapClasspath
--release
我收到以下警告:
warning: [options] source value 1.6 is obsolete and will be removed in a future release
warning: [options] target value 1.6 is obsolete and will be removed in a future release
warning: [options] To suppress warnings about obsolete options, use -Xlint:-options.
我知道这些可以被压制(它在那里说),但我没想到会看到它们。使用--release [7-9]
这些警告构建时不存在。
对于上下文,这是旧的(现在未使用)“2x JDK”配置:
sourceCompatibility = "1.6"
targetCompatibility = "1.6"
tasks.withType(JavaCompile) {
options.bootstrapClasspath = new SimpleFileCollection(Arrays.asList(new File("$JDK6_HOME/jre/lib/rt.jar")))
}
我是否错误地设置了编译器参数?有没有办法不设置/取消设置source
和target
?