java 在ant?中自定义AnsiColorLogger的颜色

ttisahbt  于 2023-02-18  发布在  Java
关注(0)|答案(2)|浏览(123)

目前我的ant输出是用AnsiColorLogger着色的。它按预期工作,现在我想定制颜色(默认颜色太暗)。我按指定创建了一个颜色文件,但不知道如何传递文件名。文档说明
必须将此文件指定为名为ant.logger.defaults的系统变量的值,并使用-D选项将其作为参数传递给调用Ant应用程序的java命令。
如果我只是在终端上运行ant,如何将参数传递给java命令?

-Dant.logger.defaults=<my file path>

ant,但没有运气。我还尝试设置环境变量

ANT_OPTS='-Dant.logger.defaults=<my file path>'

但也不管用万一有什么要紧的我和

  • 操作系统X 10.10.5
  • Apache Ant(TM)版本1.9.6
  • Java 1.8.0_65语言
s5a0g9ez

s5a0g9ez1#

我发现了我的错误:我的文件路径是~/my-file,但是单引号中的~没有展开。就这么简单。
(我忘记了这样一个事实,当我在终端中使用~时,它在传递给程序之前被shell展开。)

m528fe3b

m528fe3b2#

ant的典型设置:

export ANT_HOME="${HOME}/opt/apache-ant"
export ANT_ARGS="-logger org.apache.tools.ant.listener.AnsiColorLogger"
export ANT_OPTS="-Dant.logger.defaults=${HOME}/etc/ant-colors.properties"
export PATH="${ANT_HOME}/bin:${PATH}"

在本例中,我将ant安装在我的主目录opt/下,而它的颜色配置类似地位于主目录etc/下。这可以根据需要进行定制。使用${HOME}可以避免~的问题,只要我也像示例中那样使用双引号而不是单引号。
我最初的错误是,我认为-D可以与ANT_ARGS一起添加,但如上所述,我们同时需要ANT_ARGSANT_OPTS
这是我在macOs上使用的ant-colors.properties

AnsiColorLogger.ERROR_COLOR=31
AnsiColorLogger.WARNING_COLOR=35
AnsiColorLogger.INFO_COLOR=36
AnsiColorLogger.VERBOSE_COLOR=32
AnsiColorLogger.DEBUG_COLOR=34

注意,我省略了属性前缀“2;“,因为这将只是粗体输出。我也不使用“1;“,因为这样输出就会变亮。相反,我将其保留为默认值,这对我来说具有理想的可见性。
请注意,语法如下所示:

AnsiColorLogger.*=Attribute;Foreground;Background

相关问题