【问题标题】:how to set the logger while calling ant target from java从java调用ant目标时如何设置记录器
【发布时间】:2012-10-23 08:23:01
【问题描述】:

我必须从 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)

【问题讨论】:

  • 您是否将CustomLogger 类添加到类路径中?
  • yes 已将 CustomLogger 添加到类路径

标签: java shell ant


【解决方案1】:

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

所以

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

【讨论】:

    猜你喜欢
    • 2014-04-30
    • 2014-03-09
    • 1970-01-01
    • 1970-01-01
    • 2010-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-23
    相关资源
    最近更新 更多