我的团队正在开发一个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/,只有几个阶段(流程资源,编译,打包,安装,部署),而且我他们尝试了所有这些,但似乎没有一个工作 提前致谢。
答案 0 :(得分:2)
我的小组发现您需要在主配置区域中设置sourceDocumentName。事实证明,使用主配置部分生成一次docbook,然后它查找任何其他执行并运行那些使用特定子配置执行该执行。
希望这可以帮助将来的某个人。