【问题标题】:How to get a maven reporting plugin to generate report with the doxia API?如何获取 Maven 报告插件以使用 doxia API 生成报告?
【发布时间】:2011-11-08 10:10:59
【问题描述】:

我一直在尝试编写自己的 maven 报告插件,以便在运行“mvn 站点”时生成有关测试的信息。这 文件 test_report.html 由下面的代码创建,但页面不包含任何带有 doxia sink API 的标题或文本。

public class TestDocMojo extends AbstractMavenReport {

  public String getOutputName() {
      return "test_report";
  }

  public void executeReport(Locale locale) throws MavenReportException {
    Sink sink = getSink();
    sink.head();
    sink.title("My maven site report");
        sink.text("Content here.");
    sink.flush();
    sink.close();
  }
}

我一直在看这个例子:http://docs.codehaus.org/display/MAVENUSER/Write+your+own+report+plugin

【问题讨论】:

    标签: java maven maven-plugin


    【解决方案1】:

    我认为这个问题的最佳答案是让您阅读报告插件的几个工作示例的来源。 “经典”是 maven-project-info-reports-plugin 的一部分,还有很多其他的。您可以在以下位置找到它的来源:

    http://svn.apache.org/viewvc/maven/plugins/tags/maven-project-info-reports-plugin-2.4
    

    当你弄清楚你错过了什么时,请改进 codehaus 文档。

    【讨论】:

      【解决方案2】:

      你犯了一些小错误。主要是关闭东西。

      1. title() 只是打开标题以在 doxia 中编写。

            sink.title();
            sink.text("Hello");
            sink.title_();
        

      会写标题。

      现在是身体。

              sink.body();
              sink.rawText("Hello World");
              sink.body_();
      

      最后是完整的例子:-

              Sink sink = getSink();
              sink.head();
              sink.title();
      
              sink.text("Hello");
              sink.title_();
              sink.head_();
      
              sink.body();
              sink.rawText("Hello World");
      
              sink.body_();
              sink.flush();
              sink.close();
      

      【讨论】:

      猜你喜欢
      • 2014-12-01
      • 2014-05-15
      • 2017-02-05
      • 1970-01-01
      • 1970-01-01
      • 2012-06-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多