2011-12-29 71 views
2

我的团队正在开发一个web服务项目,并且正在为Web服务API创建文档。我使用了一个自定义的JavaDoc doclet来创建两个可用方法的xml输出,一个用于内部开发人员,另一个用于外部开发人员。Jboss Maven JdocBook插件,多次执行

现在,我们使用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/,只有几个阶段(进程资源,编译,打包,安装,部署),并且我尝试了所有他们中没有一个似乎能够工作。
在此先感谢。

+0

我的小组发现你需要在主配置区域设置sourceDocumentName。事实证明,docbook是使用主配置部分生成的,然后它会查找任何其他执行,并使用该执行的特定子配置运行这些执行。 希望这可以帮助未来的人。 – sterbap1 2011-12-29 18:56:23

回答

2

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

希望这可以帮助未来的人。