繁体   English   中英

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

[英]warning: [options] bootstrap class path not set in conjunction with -source 1.5

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

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

我该如何解决?

来自一篇博文

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

  • 使用较旧的 -source 设置。
  • 将引导类路径设置为针对旧平台的 rt.jar(或等效文件)进行编译。

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

引导类路径用法

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

在 UNIX 系统上,使用以下命令找到rt.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 上针对 Oracle Java 7 和 8 进行了测试。

我目前正在 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:不再出现警告。 :-)

可以使用 -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: ...

options 警告与使用命令行选项有关的问题。 有关此类警告的示例,请参阅交叉编译示例。

确保您的 jdk 版本和 java 编译器源版本相同。 例如,如果您使用的是 maven,并且已经使用 JDK 9 设置了项目,那么下面的 pom 片段将通过上述警告

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    ...
                </configuration>
            </plugin>

将源/目标版本更正为 9 修复了如下警告

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
                <configuration>
                    <source>9</source>
                    <target>9</target>
                    ...
                </configuration>
            </plugin>

如果您在 Windows 上使用 Apache NetBeans IDE:

1 - 检查在以下位置选择了哪个 Java 版本:

Menu Bar -> Tools -> Options -> Java -> Java Platform

2 - 在以下位置选择相同的 Java 版本:

Menu Bar -> Run -> Set Project Configuration -> Customize... -> Sources -> Source/Binary Format
  1. 下载 JDK (在警告书面版本上) -> 安装

  2. 右键单击您的项目 -> 属性 -> 库 -> Java 平台(添加已安装的 JDK) -> 确定

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM