我在一个库中收到“警告:未检查未检查的转换”消息,我正在与代码一起编译该库的源代码。既然我不想修改库源代码,有没有办法在Ant的javac任务中禁用这个特殊的警告呢?
发布于 2015-06-04 14:23:47
不能禁用javac选项,至少不能不使用-Xlink:-unchecked unchecked标志。
这似乎是在编译器的com.sun.tools.javac.comp.Check类中强制执行的,请参见来自jdk8-b40标记的this version的127行(摘录如下)。
boolean verboseDeprecated = lint.isEnabled(LintCategory.DEPRECATION);
boolean verboseUnchecked = lint.isEnabled(LintCategory.UNCHECKED);
boolean verboseSunApi = lint.isEnabled(LintCategory.SUNAPI);
boolean enforceMandatoryWarnings = source.enforceMandatoryWarnings();
deprecationHandler = new MandatoryWarningHandler(log, verboseDeprecated,
enforceMandatoryWarnings, "deprecated", LintCategory.DEPRECATION);
uncheckedHandler = new MandatoryWarningHandler(log, verboseUnchecked,
enforceMandatoryWarnings, "unchecked", LintCategory.UNCHECKED);
sunApiHandler = new MandatoryWarningHandler(log, verboseSunApi,
enforceMandatoryWarnings, "sunapi", null);发布于 2014-01-29 13:22:14
您应该尝试使用javac选项-Xlint:-name,其中name是要禁用的警告的名称。可能的名称列表被指定为here。所以我猜在你的情况下,名字应该是“未检查的”。
在Ant脚本中,如下所示:
<javac ...>
<compilerarg value="-Xlint:-unchecked"/>
...
</javac>发布于 2014-01-28 23:17:25
尝尝这个!
<javac classpathref="project.class.path">
nowarn="true"
deprecation="false"
....
</javac>https://stackoverflow.com/questions/21409125
复制相似问题