我编写了一个ant org.apache.tools.ant.BuildListener,它可以在构建失败的情况下执行操作。我可以在ant -listener org.smottguyz.antlisteners.SimpleListener build_all
的命令行中使用它。但是当我使用NetBeans IDE时,没有明显的方法来指定-listener
选项。
有没有办法在某处指定具有ant(或NetBeans)属性,设置或配置的其他构建侦听器?
EDIT。事实证明这是特定于NetBeans的,因为无论出于何种原因,NetBeans都会禁用大多数适用于大多数ant配置的方法。所以Is it possible to specify logger for ant inside build.xml?是相关的,但不是答案:(
谢谢!
答案 0 :(得分:0)
简而言之,就是使用NetBeans 8.0,您无法使用任何常规技术。 NetBeans ant不使用平台环境变量,因此ANT_OPTS不起作用。此外,nb_ant忽略〜/ .ant / antlib,甚至将jar添加到foo / NetBeans 8.0.2 / extide / ant / lib也不起作用。我将此视为一个错误,但我预计它将毫无结果。
无论如何,您可以编辑构建文件,并添加安装自定义侦听器的自定义任务。但是您还必须在正确的NB对话框中将任务+监听器的jar添加到NBs ant类路径。所以我创建了一个小课程:
public class Installer extends Task {
@Override
public void execute() throws BuildException {
getProject().addBuildListener(new SimpleListener());
}
}
和我的build.xml
<taskdef name="installListener" classname="org.smottguyz.antlisteners.Installer"/>
<installListener/>
在对话框“Options / Java / Ant / Classpath:”
中添加jar实际上非常讨厌。无论如何,使用像Josef Betancourt的博客文章中的scriptdef在这种情况下买不到任何东西。