我正在使用the docbkx-tools来使用Maven创建DocBook。目前我可以制作各种格式的书。我还实现了通过WebDav使用Wagon将我的Maven站点部署到Web服务器。
我想通过使用像mvn clean install site:deploy
这样的命令将它们一起发布,生成的DocBook和我的Maven站点。你能帮忙解决一些问题吗?
答案 0 :(得分:2)
您只需将生成的pdf / rtf / html复制到正确的位置,并将其与maven-site一起部署,或者您可以直接生成到该站点的目标位置,如下所示:
<plugin>
<groupId>com.agilejava.docbkx</groupId>
<artifactId>docbkx-maven-plugin</artifactId>
<version>2.0.14</version>
<dependencies>
<dependency>
<groupId>docbook</groupId>
<artifactId>docbook-xml</artifactId>
<version>4.4</version>
</dependency>
</dependencies>
<executions>
<execution>
<goals>
<goal>generate-pdf</goal>
</goals>
<phase>pre-site</phase>
<configuration>
<sourceDirectory>${basedir}/src/docbkx</sourceDirectory>
<xincludeSupported>true</xincludeSupported>
<includes>maui.xml</includes>
<foCustomization>src/docbkx/fopdf.xsl</foCustomization>
<targetDirectory>${project.build.directory}/site/</targetDirectory>
</configuration>
</execution>
</executions>
</plugin>
您不应该使用site:deploy,您应该使用 mvn site 和 mvn site-deploy 来运行网站life-cycle。
答案 1 :(得分:2)
您可以使用以下属性控制docbook输出目录:<targetDirectory>
(默认为${basedir}/target/docbkx/<something dependending on the output format>
。
另一方面,maven-site-plugin
将获取<inputDirectory>
下创建到网站的所有文件(全局,它会为目录中的所有内容创建一个zip)。默认值为project.reporting.outputDirectory
因此,如果您将docbook插件<targetDirectory>
更改为maven-site-plugin <inputDirectory>
中的内容:docbook输出将包含在生成的网站zip中。
此外,为了确保在部署网站之前运行您的docbook插件,您需要在site lifecycle
site-deploy
之前的某个阶段绑定docbook插件。所以其中一个阶段就可以了:pre-site
site
post-site
以下是有关binding a plugin to a phase