[Gradle]警告: [options] 未与 -source 1.x 一起设置引导类路径
转自http://renweibo.com/2015/08/08/Gradle-troubleshooting/ ,原文标题不是这个。
编译警告
执行gradle命令(gradle build, gradle compileJava等)出现下面的警告(注:本机安装的是JDK1.8。gradle.build中为sourceCompatibility = 1.7)
:compileJava warning: [options] bootstrap class path not set in conjunction with -source 1.7
或者
:compileJava 警告: [options] 未与 -source 1.7 一起设置引导类路径
这个问题的原因是执行使用的JDK版本高于build.gradle中设定的sourceCompatibility的版本,这个是javac编译时的一个警告,解决方案:
- 设置了bootstrap classload为老JDK的rt.jar可以解决问题,这个一般会导致build.gradle或者build.properties中硬编码老JDK的路径
- 使用正确的jdk版本,不同环境设置不同的JAVA_HOME和PATH,这个一般会与全局的JAVA_HOME,也会导致某个地方存在硬编码老JDK的路径
不过通常情况下,不建议在开发环境解决该问题,原因是一个机器上存在多个JDK的情况很可能存在,不同项目对于JAVA的编译版本要求不一样,所以解决方案会引入硬编码。
正确的思路是,首先这个不会影响实际功能,只需要在CI环境上面针对不同的项目设置好不同的JAVA_HOME,即可消灭该问题。
有可能出问题的是,如果项目使用把警告当错误的严格模式时,会对项目开发造成影响。
参考资料
- javac - Java programming language compiler, check Section “Cross-Compilation Example” also.
可以去掉sourceCompatibility = 1.8这条语句

浙公网安备 33010602011771号