警告: bootstrap类path未与-source 1.5一起设置
生成时我收到警告消息!
警告:[选项] bootstrap类path未与-source 1.5一起设置
我该如何解决?
来自博客文章 :
要使用JDK N中的javac交叉编译到较旧的平台版本,正确的做法是:
- 使用较旧的资源设置。
- 将bootclasspath设置为针对较旧平台的rt.jar(或等效)进行编译。
如果不采取第二步,那么javac将尽职尽责地使用旧的语言规则,并结合新的库,这可能导致类文件不能在旧版平台上工作,因为可能包含对不存在的方法的引用。
bootclasspath用法
javac -bootclasspath /usr/lib/jvm/java-7-oracle/jre/lib/rt.jar \ -source 1.7 Main.java
在UNIX系统上,使用以下命令findrt.jar
:
locate -r '/rt.jar$'
设置JAVA_HOME
使rt.jar
位于$JAVA_HOME/jre/lib/rt.jar
,然后:
javac -source 1.7 -bootclasspath "$JAVA_HOME/jre/lib/rt.jar" Main.java
在Ubuntu 14.04上testing了Oracle Java 7和8。
目前,我正在Linux Mint 17.1上运行带有JDK 1.8的Netbeans IDE 8.0.2,它具有java -version = 1.7.0_65。 因此,为了能够运行JAR文件,我必须设置myProject>属性>源/二进制格式:JDK 7.但是,当构build(myProject>清理和构build)时,我得到了一个类似的警告:warning:[options] bootstrap class path not set连同来源1.7。
解决scheme是将Linux Mint JDK1.7平台添加到Netbeans平台列表中。
这可以通过转到myProject> Properties> Libraries并单击Manage Platforms …button来完成。 然后在Java Platform Manager窗口中单击添加平台…并select:Java Standard Edition,单击下一步并浏览至/ usr / lib / jvm / java-7-openjdk-amd64(或者JDK 1.7版本的位置)。 平台名称将被设置为JDK1.7。 只需点击完成,你就完成了。
您现在可以在项目属性中selectJava平台。 通过selectJDK1.7并运行Clean and Build:不再有警告。 🙂
可以使用-Xlint系列中的新JDK 7子选项禁用警告,-Xlint:-options。 例如
$ javac -source 1.5 -Xlint:-options example.java
来源: https : //blogs.oracle.com/darcy/entry/bootclasspath_older_source
和
http://docs.oracle.com/javase/7/docs/technotes/tools/solaris/javac.html#xlintwarnings
使用-Xlint选项可以启用或禁用警告
使用选项-Xlint:name启用警告名称,其中name是以下警告名称之一。 同样,您可以使用-Xlint:-name选项禁用警告名称…
选项警告有关使用命令行选项的问题。 有关这种警告的示例,请参阅交叉编译示例。