2013-07-25 29 views
0

在使用Ant进行编译时,我的Java应用程序提供了1000多条警告(主要是因为这是一个遗留代码而被弃用的API相关),并且很难找到与千位数混合的错误消息在日志中消息的警告。Ant,分离警告和错误

我试图通过在Ant的javac任务中传递参数来压制警告,但没有奏效。

是否有任何选项可以将日志中的警告和错误分开,如首先发出所有警告,然后发生错误?

回答

1

警告由javac显示,Ant只是将它们转发到控制台。 Ant无法区分它们在javac警告和错误之间。但是您可以配置javac警告输出。您可以在javac任务中使用属性'nowarn'。

<javac nowarn='on' .... /> 

您也可以选择确切地禁止哪个警告。然后您可以查看javac documentation(查看Xlint选项),并使用javac任务的'compilerarg'元素。

<javac .... > 
    <compilerarg line="-Xlint:-deprecation"/> 
</javac> 
+0

因为使用sun。*包而被弃用,我得到了警告。 不会抑制这样的警告。参考http://stackoverflow.com/questions/13855700/suppress-javac-warning?rq=1 – Abhilash

+0

是否有可能将javac的输出传递给另一个ant任务来分离警告?是否有任何现有的任务要重用? – Abhilash

+1

您可以使用'exec'任务手动启动javac,然后使用'outputproperty'来捕获输出。然后用'loadresource'资源任务,一个'property'资源和一个filterchain,一些东西可能正在工作。但是这会很有启发性,而且很容易出错。我不会推荐。 –