我的团队正在开发一个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/,只有几个阶段(进程资源,编译,打包,安装,部署),并且我尝试了所有他们中没有一个似乎能够工作。
在此先感谢。
我的小组发现你需要在主配置区域设置sourceDocumentName。事实证明,docbook是使用主配置部分生成的,然后它会查找任何其他执行,并使用该执行的特定子配置运行这些执行。 希望这可以帮助未来的人。 – sterbap1 2011-12-29 18:56:23