我想忽略特定文件引发的 ant 警告。
为什么有警告不是强制性的,我只想找到一种方法来忽略特定类文件中的警告。
有办法做到吗?
<target name="compile">
<mkdir dir="${classes.dir}" />
<javac
classpathref="project.classpath"
bootclasspath="${javac.bootclasspath}"
compiler="${javac.compiler}"
debug="${javac.debug}"
deprecation="${javac.deprecation}"
destdir="${classes.dir}"
fork="${javac.fork}"
memoryMaximumSize="${javac.memoryMaximumSize}"
nowarn="${javac.nowarn}"
srcdir="${source.dir}"
source="${javac.source}"
target="${javac.target}"
encoding="UTF-8"
>
<compilerarg value="-XDignore.symbol.file"/>
</javac>
</target>
我认为你的意思是“运行 Ant 脚本时抑制来自 javac 的编译警告”?
您没有提供警告示例,但通常您可以查看 @SuppressWarnings 注释。遗憾的是,JLS 仅需要
"unchecked"
,而所有其他都依赖于实现 - 您可以尝试
localhost:~$ javac -X
-Xlint:{all,cast,deprecation,divzero,empty,unchecked,fallthrough,path,
serial,finally,overrides,-cast,-deprecation,-divzero,-empty,-unchecked,
-fallthrough,-path,-serial,-finally,-overrides,none}
查看您选择的 JDK 支持的内容。
编辑: 不可能以这种方式抑制“内部专有 API”类型警告,参见。 这个错误 ID 。但是,使用(未记录的)
-XDignore.symbol.file
命令行选项 javac
应该可以实现(参见例如。bug 6544224)。
真正的解决方案当然是不使用这些API... 干杯,