Ant 监听

此功能使我们能够在执行过程中监视Ant的进度。 Ant使用两个概念进行监视: Listener和Logger,两者均由Ant本身提供。请参阅下面所有受支持的侦听器。

Listeners

  • 开始构建
  • 构建完成
  • target已开始
  • target完成
  • 任务开始
  • 任务完成
  • 已记录的消息

Loggers

记录器用于扩展侦听器功能。它具有各种功能,请参见下文。

  • 它将信息记录到控制台或使用 -logfile 参数指定的文件中。
  • 它知道日志记录级别(-quit,-verbose,-debug)。
  • 支持Emacs模式

Apache Ant侦听器和记录器接口也可以用UML表示。参见下面的UML图。

Apache Ant侦听器和记录器

这是BuildListener和BuildLogger接口的UML图。

内置的侦听器和记录器

数据类型 参数 说明
org.apache.tools.ant.DefaultLogger 它是默认记录器,并被-logger命令行开关覆盖。 BuildLogger
org.apache.tools.ant.NoBannerLogger 用于省略空target输出的输出。 BuildLogger
org.apache.tools.ant.listener.MailLogger 它扩展了DefaultLogger并生成相同的输出并发送电子邮件。 BuildLogger
org.apache.tools.ant.listener.AnsiColorLogger 它用于为构建输出提供颜色。 BuildLogger
org.apache.tools.ant.listener.Log4jListener 它用于将事件传递到Apache Log4j日志记录。 BuildListener
org.apache.tools.ant.XmlLogger 它将构建信息写入XML文件。 BuildLogger
org.apache.tools.ant.TimestampedLogger 它用于打印构建完成的时间。 BuildLogger
org.apache.tools.ant.listener.BigProjectLogger 它用于打印每个target具有的项目名称。 BuildLogger
org.apache.tools.ant.listener.SimpleBigProjectLogger 它仅打印子项目的项目名称。 BuildLogger
org.apache.tools.ant.listener.ProfileLogger 这是默认记录器,其中为每个任务和target添加了开始时间,结束时间和持续时间。 BuildLogger

任何数量的构建侦听器都可以连接到项目。通过指定侦听器类,我们可以在命令行运行ant时使用侦听器。

默认记录器

可以使用以下命令运行DefaultLogger,请参阅我们已通过这里是DefaultLogger类。

$ ant -logger org.apache.tools.ant.DefaultLogger

MailLogger

MailLogger使用DefaultLogger捕获所有输出日志,并通过唯一的电子邮件列表发送成功和失败消息。

MailLogger类属性

属性 说明 必填
MailLogger.mailhost 要使用的邮件服务器 否;默认本地主机
MailLogger.port 邮件服务器的SMTP端口 否;默认值25
MailLogger.user SMTP身份验证的用户名 是的,如果您的SMTP服务器上需要SMTP身份验证
MailLogger.password 用于SMTP身份验证的密码 是的,如果您的SMTP服务器上需要SMTP身份验证
MailLogger.ssl on或true(如果需要SSL)此功能需要JavaMail
MailLogger.from 来自地址的邮件 是的,如果需要发送邮件
MailLogger.replyto 邮件回复地址,以逗号分隔
MailLogger.success.to 要发送成功消息的地址,以逗号分隔 是的,如果要发送成功邮件
MailLogger.success.cc 用于将成功消息发送到抄本(cc)的地址,以逗号分隔
MailLogger.success.bcc 用于将成功消息发送到以逗号分隔的密件抄送(bcc)的地址

命令行中的MailLogger

例如。

ant -logger org.apache.tools.ant.listener.MailLogger

下一章:Ant IDE 图文教程

 IDE(集成开发环境)是用于设计和开发软件应用程序的平台。有许多流行且广泛使用的现代Java IDE。下面给出一些。JDEE (Java Development Environment for Emac ...