我开发了一个简单的插件来像咆哮一样将构建结果通知到桌面。 https://github.com/kompiro/notification-maven-plugin
现在,我认为没有很好的方法来监听构建结果事件。
我测试了两种监听事件的方法。
一个。来自 MavenSession#getRequest() 的 ExecutionListener
这种方式通知运行良好,但是有一个问题。它取代了默认的 Maven 事件执行侦听器。因此,如果用户添加此插件,则没有 Maven 执行日志。我以为我的实现扩展了默认事件执行侦听器“ExecutionEventLogger”,但我不能,因为 ExecutionEventLogger 的构造函数需要 plexus 的记录器。我无法获取记录器对象。
湾。使用 EventSpy
这不是公共接口,用户必须将插件添加到 maven.ext 类路径。这对用户不利。
如何正确收听事件?