如何在Java 6和使用JDK 7编译器时抑制引导类路径警告

  • 本文关键字:警告 路径 编译器 Java JDK java javac
  • 更新时间 :
  • 英文 :


我们的开源应用程序目标是Java 6平台,所以我们使用-source 1.6和-target 1.6选项进行编译,但是当使用JDK 7时,我们得到这个警告消息,例如

例如

:$ javac -source -target 1.6 test.java

警告:[options] bootstrap类路径没有与-source 1.6一起设置

我们可以通过在我们的机器上使用-bootclasspath来解决这个问题,但是我们将我们的应用程序作为源tarball/zip分发,我们的用户在他们的机器上构建它。

另外,我们不想要求用户下载JDK6,这样他们就不会得到这个警告,所以-bootclasspath选项不是一个好的解决方案。

当然,我们通过使用和测试JDK 6来验证我们只使用JDK 6 api。因此,在使用JDK 7编译源代码时,我们只想屏蔽此警告。

我已经扫描了javac选项,但无法找到如何抑制此警告。http://docs.oracle.com/javase/7/docs/technotes/tools/solaris/javac.html

关于如何在针对Java 6时抑制JDK 7的引导类路径警告的任何想法?

现在我们只是告诉我们的用户忽略这个,但理想情况下,我们不希望打印任何警告。

该警告可以通过-Xlint族中的一个新的JDK 7子选项,-Xlint:-options来禁用。例如

$ javac -source 1.6 -target 1.6 -Xlint:

来源: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警告与使用命令行选项有关的问题。有关此类警告的示例,请参见交叉编译示例。

相关内容

最新更新