1

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

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

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

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

将不胜感激所有/任何建议。

4

2 回答 2

2

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

但是,听起来您可能正在尝试对整个文件执行此操作,在这种情况下,我将编写整个 Java 程序(而不仅仅是单个函数)并使用 ant 的内置Java任务调用该程序。

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

于 2012-12-06T03:29:20.170 回答
1

最新版本的 ant 支持基于正则表达式的字符串替换。这是来自蚂蚁网站的代码示例

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

对于最初的问题 - 是的。您可以通过以下方式扩展 ant

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

于 2012-12-06T04:44:51.183 回答