警告:[options] bootstrap类路径未与-source 1.5一起设置

问题

我在Build time收到警告信息!

警告:[options] bootstrap类路径未与-source 1.5一起设置

我该如何解决?


#1 热门回答(87 赞)

从ablog post

要使用JDK N中的javac交叉编译到较旧的平台版本,正确的做法是:使用较旧的-source设置。设置bootclasspath以针对旧平台的rt.jar(或等效项)进行编译。如果不采取第二步,javac将尽职尽责地使用旧语言规则与新库相结合,这可能导致类文件无法在旧平台上运行,因为可以包含对不存在的方法的引用。


#2 热门回答(27 赞)

bootclasspath用法

javac -bootclasspath /usr/lib/jvm/java-7-oracle/jre/lib/rt.jar \
      -source 1.7 Main.java

在UNIX系统上,使用以下命令找到rt.jar

locate -r '/rt.jar$'

SetJAVA_HOMEso thatrt.jar的位置在$JAVA_HOME/jre/lib/rt.jar,然后:

javac -source 1.7 -bootclasspath "$JAVA_HOME/jre/lib/rt.jar" Main.java

在Ubuntu 14.04上针对Oracle Java 7和8进行了测试。


#3 热门回答(4 赞)

我目前在Linux Mint 17.1上使用JDK 1.8运行Netbeans IDE 8.0.2,其中java -version = 1.7.0_65。因此,为了能够运行JAR文件,我必须设置myProject>属性>源/二进制格式:JDK 7.但是当构建(myProject> Clean和Build)时,我得到了类似的警告:警告:[options] bootstrap类路径未设置与-source 1.7一起使用。

解决方案是将Linux Mint JDK1.7平台添加到Netbeans平台列表中。

这可以通过转到myProject> Properties> Libraries并单击Manage Platforms ...按钮来完成。然后在Java Platform Manager窗口中单击Add Platform ...并选择:Java Standard Edition,单击Next并浏览到/ usr / lib / jvm / java-7-openjdk-amd64(或JDK 1.7版本的任何位置) )。平台名称将设置为JDK1.7。只需单击"完成"即可完成。

你现在可以在项目属性中选择Java平台。通过选择JDK1.7并运行Clean and Build:不再有警告。 :-)