Java 为汇流Wiki定制Maven报告插件

Java 为汇流Wiki定制Maven报告插件,java,maven-2,maven-plugin,confluence,Java,Maven 2,Maven Plugin,Confluence,我开发了一个Maven报告插件,供我们公司内部使用。它设计为在独立模式下工作,因此可以针对给定项目运行,而无需在pom的部分进行配置 但是,文档的格式目前是xhtml,我们所有的项目文档目前都存储在Confluence上。在Confluence标记中生成文档将非常方便。已经有ConfluenceSink和ConfluenceSinkFactory类可以生成正确的标记,但是我没有看到一种明显的方法来设置AbstractMavenReport的子类使用的接收器 我目前采取的方法是: 重写execu

我开发了一个Maven报告插件,供我们公司内部使用。它设计为在独立模式下工作,因此可以针对给定项目运行,而无需在pom的
部分进行配置

但是,文档的格式目前是xhtml,我们所有的项目文档目前都存储在Confluence上。在Confluence标记中生成文档将非常方便。已经有
ConfluenceSink
ConfluenceSinkFactory
类可以生成正确的标记,但是我没有看到一种明显的方法来设置
AbstractMavenReport
的子类使用的接收器

我目前采取的方法是:

  • 重写
    execute
    方法,因为该方法当前对输出xhtml的
    SiteRenderSink
    的使用进行硬编码
  • 查找
    siterender.generateDocument()
    的替代方法,因为此方法需要上述
    siterendersink
有人解决过这些问题吗?感谢您的反馈


最后,我可以正式指出Maven的API文档非常糟糕吗?我不需要手持式的教程——只要一些基本的Javadoc和一些有见地的评论,就可以极大地帮助我完成这个代码库的任何工作。

所以我设法制定了一个可行的解决方案。我在正确的轨道上,我只是让事情变得比需要的更复杂——同样,更好的文档可以避免我筛选各种插件来寻找示例

所以,如果有人想做类似的事情,首先让你的插件在生成xhtml上工作。我发现在这方面是相当有帮助的。要更改输出格式,必须重写
execute()
方法,并为
generate()
方法提供相应的
Sink
SinkFactory
实现

以下是汇流标记中的输出示例:

@Override
public void execute()
    throws MojoExecutionException
{
    try
    {
        File outputDirectory = new File(getOutputDirectory());

        String filename = getOutputName() + ".cf";

        Locale locale = Locale.getDefault();

        ConfluenceSinkFactory factory = new ConfluenceSinkFactory();
        Sink sink = factory.createSink(outputDirectory, filename);

        generate(sink, factory, locale);
    }
    catch ( IOException e )
    {
        throw new MojoExecutionException(e);
    }
    catch ( MavenReportException e )
    {
        throw new MojoExecutionException(e);
    }
}