如何在 Apache Ant 中默认启用 AnsiColorLogger



如何默认启用AnsiColorLogger Apache Ant内置记录器,而无需运行手动命令ant -logger org.apache.tools.ant.listener.AnsiColorLogger或添加环境变量ANT_ARGS


我尝试从 ant 构建运行该命令。
构建.xml

<exec dir="${sdk.dir}" executable="cmd">
    <arg value="${sdk.dir}" />
    <arg value="AnsiColorLogger.cmd" />
</exec>

AnsiColorLogger.cmd

START -logger org.apache.tools.ant.listener.AnsiColorLogger

然后我运行 ant 命令来编译我的项目,但日志没有着色。

Fuiba@FUIBA D:DEVTESTproj
> ant
Buildfile: D:DEVTESTprojbuild.xml
Trying to override old definition of task for
     [exec] Microsoft Windows [Versione 10.0.10240]
     [exec] (c) 2015 Microsoft Corporation. Tutti i diritti sono riservati.
     [exec]
     [exec] Fuiba@FUIBA D:DEVTESTproj
     [exec] >

相反,当我运行ant -logger org.apache.tools.ant.listener.AnsiColorLogger它可以工作。

当你说你直接运行蚂蚁时,它是怎么工作的,你是怎么运行的?从 ant 自己的文档中,它不支持 Windows NT 衍生产品(包括 Windows 8、10 等(。从您的输出来看,您似乎在 Windows 上运行,因此请更详细地了解如何重现此问题。

来自蚂蚁的手册:

注意:它不适用于 WinNT 和后续版本,即使使用加载了 ANSI.SYS 的 COMMAND.COM 控制台也是如此。

来源: https://ant.apache.org/manual/index.html

如果你从支持 ANSI 转义序列的终端(如 Cygwin 的 MinTTY 或 CMDER(中运行 ant,请尝试将 env 参数传递给你的 exec 任务:

<exec dir="${sdk.dir}" executable="cmd">
    <env key="ANT_ARGS" value="-logger org.apache.tools.ant.listener.AnsiColorLogger"/>
    <arg value="${sdk.dir}" />
    <arg value="AnsiColorLogger.cmd" />
</exec>
  • 指挥官:https://cmder.net/
  • 天鹅座: https://cygwin.com/

相关内容

  • 没有找到相关文章

最新更新