使用Java 9 JDK定位Java 6会发出警告
我正在尝试使用JDK 9构建项目,因为使用
javac的–release参数意味着它可以为旧版本构建而无需安装相应的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. 我知道这些可以被抑制(它说就在那里),但我没想到会看到它们. 对于上下文,这是旧的(现在未使用)’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"))) } 我是否错误地设置了编译器参数?有没有办法不设置/取消设置源和目标? 解决方法
虽然这不是来自官方消息来源,但警告似乎与“一加三后”条款一致
JEP182#Policy for Retiring javac -source and -target Options
因此理想情况下,应该使用JDK10删除1.6,警告对于客户了解策略有良好的效果. 编辑:然而,正如Alan in comments所指出的那样 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |