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

Sam*_*Sam 131 java

我在构建时收到警告消息!

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

我该如何解决?

Edu*_*rch 99

来自博文:

要使用JDK N中的javac交叉编译到较旧的平台版本,正确的做法是:

  • 使用较旧的-source设置.
  • 将bootclasspath设置为针对旧平台的rt.jar(或等效项)进行编译.

如果不采取第二步,javac将尽职尽责地使用旧语言规则与新库相结合,这可能导致类文件无法在旧平台上运行,因为可以包含对不存在的方法的引用.

  • 很好,虽然使用较旧的JDK编译似乎更容易. (8认同)

Cir*_*四事件 40

bootclasspath用法

javac -bootclasspath /usr/lib/jvm/java-7-oracle/jre/lib/rt.jar \
      -source 1.7 Main.java
Run Code Online (Sandbox Code Playgroud)

在UNIX系统上,找到rt.jar使用:

locate -r '/rt.jar$'
Run Code Online (Sandbox Code Playgroud)

设置JAVA_HOME使rt.jar位于$JAVA_HOME/jre/lib/rt.jar,则:

javac -source 1.7 -bootclasspath "$JAVA_HOME/jre/lib/rt.jar" Main.java
Run Code Online (Sandbox Code Playgroud)

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


小智 5

我目前在 Linux Mint 17.1 上运行带有 JDK 1.8 的 Netbeans IDE 8.0.2,其 java -version = 1.7.0_65。因此,为了能够运行 JAR 文件,我必须设置 myProject>Properties>Source/Binary Format: JDK 7。但是,在构建 (myProject>Clean and Build) 时,我收到类似的警告: warning: [options] bootstrap class path not set与-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:不再有警告。:-)

  • “myProject>属性>源/二进制格式:JDK 7”对我有用 (2认同)