我在与我的代码一起编译其源代码的库中收到“警告:[未检查的]未检查的转换”消息。由于我不想修改库源,因此有没有办法在Ant的javac
任务中禁用该特定警告?
最佳答案
不能禁用unchecked
Xlint选项,至少不能使用-Xlink:-unchecked
javac标志。
这似乎是在编译器的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);