5

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

我已经编写了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)
4

1 回答 1

2

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

所以

project.addBuildListener(new DefaultLogger());
或者无论你的记录器是什么(只要它实现BuildListener了)都可以解决问题

于 2012-10-24T14:39:31.823 回答