2014-12-01 54 views
0

如何从ant脚本中删除java System.out.println?我们应该删除现有的java类system.out.println &已编译的类不应该有Sys.out.println)如何从ant脚本中删除java System.out.println

+2

您可以执行搜索和替换,但我不认为这是一个不错的办法。最好将所有永久printlns转换为记录器调用,然后可以动态地打开和关闭它们。 – eckes 2014-12-01 16:28:02

+0

如果您想要使用ant删除println代码,或者在运行ant时删除println的输出,您的问题并不清楚。你试图完成哪一项操作? – 2014-12-01 17:28:50

+0

基本上我们有一个包含了System.out.println很多java类,(可能是开发者加入他们的调试目的),但我们的要求是,在编译的类不应该有任何系统输出,我们建立我们的项目中使用ANT脚本,所以当蚂蚁编译我们需要删除所有系统输出和编译的类不应该有任何系统输出的java文件。基本上,当类的生产运行,不应该打印任何值,用于调试目的以前添加。 – sashikab 2014-12-03 15:53:54

回答

1

在build.xml文件的准备阶段,在mkdir之前命令, 提供:

<javac srcdir="exe" includes="SysOutRemove.java"/> 
<java fork="true" classname="SysOutRemove" dir="exe" failonerror="true"/> 

其中SysOutRemove.java是在项目的exe文件包。

SysOutRemove.java应该通过目录和文件在他们的名单迭代,每个文件的内容存储到阅读器什么的,发现系统输出语句和替换。

1

我们可以在Ant文件中使用此。

<replaceregexp match="System.out.println(.*);" replace="" flags="g" byline="true"> 
 
    <fileset dir="${src.dir}" includes="**/*.java"/> 
 
</replaceregexp>