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

时间:2013-05-31 13:26:20

标签: java javac

我们的开源应用程序面向Java 6平台,因此我们使用-source 1.6和-target 1.6选项进行编译,但在使用JDK 7时,我们会收到此警告消息,例如

例如: $ javac -source 1.6 -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的引导类路径警告的任何想法?

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

1 个答案:

答案 0 :(得分:5)

可以使用-Xlint系列中的新JDK 7子选项禁用警告:-Xlint:-options。 e.g。

$ javac -source 1.6 -target 1.6 -Xlint:-options test.java

来源:https://blogs.oracle.com/darcy/entry/bootclasspath_older_sourcehttp://docs.oracle.com/javase/7/docs/technotes/tools/solaris/javac.html#xlintwarnings

可以使用-Xlint选项启用或禁用的警告

使用-Xlint:name选项启用警告名称,其中name是以下警告名称之一。同样,您可以使用-Xlint选项禁用警告名称:-name:...

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