如何在从java调用ant目标时设置记录器

时间:2012-10-23 08:23:01

标签: java shell ant

我必须从java类调用一个ant目标,目前正在从sh脚本调用它设置-logger logger.class

我已经编写了java代码...

Project p = new Project();
        p.setUserProperty("ant.file", buildFile.getAbsolutePath());
        p.init();
        ProjectHelper helper = ProjectHelper.getProjectHelper();
        p.addReference("ant.projectHelper", helper);
        helper.parse(p, buildFile);
        p.executeTarget(TARGET);

有人可以告诉我如何使用相同的代码序列设置记录器。

错误:

Class not found:util.logger.CustomLogger
java.lang.RuntimeException
        at org.apache.tools.ant.Main.createLogger(Main.java:850)
        at org.apache.tools.ant.Main.addBuildListeners(Main.java:795)

1 个答案:

答案 0 :(得分:2)

您必须使用addBuildListener将Logger添加到项目中,ant提供了一些也实现BuildLogger

的实现

所以

project.addBuildListener(new DefaultLogger());
或者你的记录器jave是什么(只要它实现BuildListener)应该做的伎俩