是否可以编写一个调用java函数的ant目标?

时间:2012-12-06 01:39:06

标签: java ant

你如何编写一个以文件为输入的ant目标,用''替换所有空格''字符(即我需要一个ant目标来“缩小”输入文本文件并将其写入磁盘)?

我知道在Java中它只是做这样的事情:

public void minify(String originalString){
    String minifiedFile = originalString.replaceAll(" ", "");
}

但是如何让ant目标调用“minify()”函数以及如何在Ant中传入参数“originalString”?

非常感谢所有/任何建议。

2 个答案:

答案 0 :(得分:2)

您是否尝试过Ant-Contrib的PropertyRegex标签?这将对给定的字符串执行“正则表达式替换”。

但是,听起来你可能会尝试对整个文件执行此操作,在这种情况下,我会编写一个完整的Java程序(不只是一个函数)并使用ant的内置{{3}调用该程序任务。

或者,正如@jahroy在评论中建议的那样,您可以使用Ant的内置Java任务来调用exec。这实际上可能是最简单的解决方案。

答案 1 :(得分:1)

最近版本的ant支持常规expression based string replacemen t。 这是ant site

的代码示例
<replaceregexp match="\s+" replace=" " flags="g" byline="true">
    <fileset dir="${html.dir}" includes="**/*.html"/>
</replaceregexp>

对于原始问题 - 是的。您可以通过

扩展ant

选项3(调用sed这样的程序)会在构建环境的长期维护中引起问题,但