我见过几个通过java代码运行ANT的例子。下面是一个这样的例子。这里使用的是 DefaultLogger:
Project p = new Project();
.
.
DefaultLogger consoleLogger = new DefaultLogger();
consoleLogger.setErrorPrintStream(System.err);
consoleLogger.setOutputPrintStream(System.out);
consoleLogger.setMessageOutputLevel(Project.MSG_INFO);
p.addBuildListener(consoleLogger);
但是我想使用 log4j。我已经在应用程序中定义了mylog4j.xml。我想使用相同的XML来配置ANT LOGGER("org.apache.tools.ant"),并希望使用此记录器。有人可以告诉我如何在 java 代码中做到这一点吗?
注意:我做了这样的事情:
org.apache.tools.ant.listener.Log4jListener log4j = new Log4jListener();
p.addBuildListener(log4j);
但是我不知道如何指定 log4j 配置 xml 文件路径到蚂蚁启动器。
无法使用
ANT 的 API 指定文件的位置。但是,您可以使用类org.apache.log4j.xml.DOMConfigurator
。例如:
DOMConfigurator.configure("/path/to/mylog4j.xml");
Project p = new Project();
p.addBuildListener(new Log4jListener());
另请参阅Apache Ant 1.9.4手册中的侦听器和记录器。