我将现有的DocBook项目从ANT(使用Dopus Framework(转移到Docbkx-Maven-Plugin。经过一些麻烦,我得到了正确的输出,但是性能非常慢。该处理采用了Ant 24sec。使用Maven插件,需要超过6分钟。
处理似乎停止了:
[INFO] Processing input file: manual.xml
[DEBUG] Xerces XInclude mode entered
[DEBUG] User Customization provided: ...docsrcmaincustom-cfgfo.xsl
[DEBUG] User Customization provided: ...docsrcmaincustom-cfgfo.xsl
[DEBUG] User Customization provided: ...docsrcmaincustom-cfgfo.xsl
[DEBUG] Configure the transformer.
[INFO] Applying customization parameters after docbkx parameters
之后,每个进球大约2-3分钟的输出(我有2个进球,对于Javahelp和PDF(。如果我停用XincludeSupport,它运行速度很快,但显然输出是没有用的。
任何帮助加快构建过程的帮助。
这是POM文件中的配置部分:
<configuration>
<sourceDirectory>src/main/docbook</sourceDirectory>
<foCustomization>src/main/custom-cfg/fo.xsl</foCustomization>
<includes>manual.xml</includes>
<xincludeSupported>true</xincludeSupported>
<chapterAutolabel>true</chapterAutolabel>
<sectionAutolabel>true</sectionAutolabel>
<sectionAutolabelMaxDepth>5</sectionAutolabelMaxDepth>
<sectionLabelIncludesComponentLabel>true</sectionLabelIncludesComponentLabel>
<preProcess>
<copy todir="${project.build.directory}/docbkx/javahelp/resource">
<fileset dir="src/main/docbook/resource/"/>
</copy>
</preProcess>
</configuration>
经过一些研究,我发现了原因。在XML文件中是Doctype定义的:
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
[
<!ENTITY % entities SYSTEM "../custom-cfg/local-entities.xml">
%entities;
]
>
构建试图下载每个文件的DTD,网络流量导致速度较慢。通过添加
<dependency>
<groupId>docbook</groupId>
<artifactId>docbook-xml</artifactId>
<version>4.5</version>
<scope>runtime</scope>
</dependency>
在我的docbkx-maven-plugin依赖关系上,我可以解决该问题。(对于不同的DocBook版本而言,此依赖性不同,为此,还有一个存储库条目,如以下内容所述: