Jboss Maven JdocBook插件,多次执行

时间:2011-12-29 15:10:55

标签: maven jboss docbook

我的团队正在开发一个Web服务项目,我正在为Web服务API创建文档。我使用自定义JavaDoc doclet创建了两个可用方法的xml输出,一个用于内部开发人员,另一个用于外部开发人员。

现在,我们正在使用Jboss Maven Jdocbook插件创建DocBook输出以及其他xml文件,以便为我们的Web服务创建用户指南。

我想要做的是运行Maven JdocBook插件两次,一次使用内部方法,一次使用外部方法,使用两个不同的master.xml文件为内部或外部开发人员创建两个单独的用户指南。 pom文件:

<build>
  <defaultGoal>generate</defaultGoal>
  <plugins>
     <plugin>
        <groupId>org.jboss.maven.plugins</groupId>
        <artifactId>maven-jdocbook-plugin</artifactId>
        <extensions>true</extensions>
        <goals>
           <goal>generate</goal>
        </goals>
        <configuration>
           <formats>
              <format>
                 <formatName>html</formatName>
              </format>
              <format>
                 <formatName>html_single</formatName>
              </format>
           </formats>
        </configuration>
        <executions>
           <execution>
              <id>internal</id>
              <phase>compile</phase>
              <configuration>
                 <baseOutputDirectory>../../Test/JavaDocTest/internal/</baseOutputDirectory>
                 <sourceDocumentName>masterInternal.xml</sourceDocumentName>
              </configuration>
           </execution>
           <execution>
              <id>external</id>
              <phase>compile</phase>
              <configuration>
                 <baseOutputDirectory>../../Test/JavaDocTest/external/</baseOutputDirectory>
                 <sourceDocumentName>masterExternal.xml</sourceDocumentName>
              </configuration>
           </execution>
        </executions>
     </plugin>
     <plugin>
        <groupId>org.jboss.maven.plugins</groupId>
        <artifactId>maven-jdocbook-style-plugin</artifactId>
        <version>1.0.0</version>
        <extensions>true</extensions>
     </plugin>
  </plugins>

我遇到的问题是,除非我将sourceDocumentName放在基本配置中(在执行部分之外和带格式的部分中),否则构建将无法识别不同的源文档名称。标准主文件名为 master.xml ,在NetBeans中进行编译时,它表示正在查找master.xml,因为它不存在而找不到它,然后跳过这一代。

似乎只是完全跳过执行部分,因为当我尝试使用多个执行(例如上面)运行构建时,它仍然只运行一次。任何想法为什么它会跳过执行部分?

我认为它可能与执行的阶段标签有关,但根据http://www.jboss.org/maven-jdocbook-plugin/,只有几个阶段(流程资源,编译,打包,安装,部署),而且我他们尝试了所有这些,但似乎没有一个工作 提前致谢。

1 个答案:

答案 0 :(得分:2)

我的小组发现您需要在主配置区域中设置sourceDocumentName。事实证明,使用主配置部分生成一次docbook,然后它查找任何其他执行并运行那些使用特定子配置执行该执行。

希望这可以帮助将来的某个人。