3

我们正在使用 Maven 构建 Java 服务器样式的应用程序。它由几个模块(在单个 Maven“反应器”中)组成,可以将它们插入在一起以生成具有客户需要的功能的最终产品(本质上是 .jar)。所有的内部结构都使用 JavaDoc 和所有文件进行了记录,但这不是您可以提供给客户以了解如何让事情运行的内容。目前我们有一个 OpenOffice 文档作为最终用户文档。

我想将此文档集成到 Maven 构建过程中,其中每个模块的文档与模块的源代码一起维护(手动编辑),最终文档可以参考所需的模块文档部分,添加一些友好的前言,如果可能的话所有,可以参考到JavaDocs。最终,文档应以 PDF 格式输出。

有没有关于 Maven 插件的经验可以帮助解决这个问题?DocBook 是正确的工具吗?也许是乳胶?还是完全不同的东西?一个声音“坚持使用 OpenOffice 和一些文本块”也可能是一个答案。

4

4 回答 4

1

我假设您还没有使用maven-site-plugin查看Maven 站点文档生成。它非常健壮,允许您合并和包含 JavaDoc 生成以及 OpenOffice 文档中的内容。

虽然站点文档不会以 PDF 格式输出,但它会以静态 HTML 网站的形式输出,该网站具有许多内置功能。使用 Maven 配置文件,您可以将 Maven 配置为生成一个供内部使用的站点,其中包括 Surefire 测试结果和Checkstykle 和 PMD 等检查的其他报告。在另一个配置文件中,您可以将其配置为仅生成分发给客户所需的文档,其中不包括客户可能不关心的内部报告。

不过需要注意的是,Maven 3 的大部分站点文档生成正在发生变化。虽然 Maven 3 的大部分内容都向后兼容 Maven 2,但请注意 Maven 3 的报告更改。查看以下链接:

于 2011-01-11T15:25:39.817 回答
0

如果带有外部文档的站点插件不能产生足够高的质量,您可以使用带有 Maven 的 docbook 来产生 HTML 和 PDF 输出。事实上,Sonatype 为他们的所有书籍(例如 Maven:The Complete Reference、Nexus 书籍、M2Eclipse 书籍......)都这样做了,它们是开源的,因此您可以查看它是如何工作的,并复制设置并根据您的需要进行修改。使用 docbook 的优点是工具非常好(例如 xmlmind),并且它可以生成带有 index、toc 等的印刷质量书籍。

哦,既然你提到了它,还有一个用于 Maven 的 LaTeX 插件,但我没有使用它的经验(但在我使用 Maven 之前,我对 LaTeX 有相当多的经验......)

于 2011-03-31T18:45:24.760 回答
0

另一个解决方案是 Maven docbkx插件,用于将 DocBook 转换为 PDF;HTML等

如果您希望看到您的 DocBook 内容也出现在 Maven 生成的站点中,请阅读有关如何将转换后的DocBook 添加到 HTML到 Maven 项目站点的说明。

有趣的相关问题:

于 2011-04-01T11:10:05.887 回答
0

我有一个多模块 maven 项目,其中每个模块都有自己的参考手册,以 docbook 格式编写。然后我有一个通用参考手册,也是用包含其他文档的 docbook 编写的,所以我正在重新使用文档。当我执行 mvn site 时,该项目会生成包含所有参考手册的 HTML 和 PDF 文件,并将它们巧妙地集成到 maven 站点中。为此,我使用 docbkx 插件。我认为它真的很摇滚。这是插件配置:

            <plugin>
            <groupId>com.agilejava.docbkx</groupId>
            <artifactId>docbkx-maven-plugin</artifactId>
            <executions>
                <execution>
                    <id>docbook-HTML</id>
                    <phase>pre-site</phase>
                    <goals>
                        <goal>generate-html</goal>
                    </goals>
                    <!-- HTML configuration -->
                    <configuration>
                        <generateToc>false</generateToc>
                        <targetDirectory>${project.build.directory}/site</targetDirectory>
                        <htmlCustomization>${basedir}/src/site/docbkx-config/docbook-html.xsl</htmlCustomization>
                        <htmlStylesheet>./css/apache-maven-fluido-1.3.0.min.css</htmlStylesheet>
                        <chunkedOutput>false</chunkedOutput>
                    </configuration>
                </execution>
                <execution>
                    <id>docbook-PDF</id>
                    <phase>pre-site</phase>
                    <goals>
                        <goal>generate-pdf</goal>
                    </goals>
                    <!-- PDF configuration -->
                    <configuration>
                        <generateToc>true</generateToc>
                        <paperType>A4</paperType>
                        <imgSrcPath>file:///${basedir}/src/site/resources/</imgSrcPath>
                        <calloutGraphicsPath>file:///${basedir}/src/site/resources/images/callouts/</calloutGraphicsPath>
                        <calloutGraphicsExtension>.svg</calloutGraphicsExtension>
                        <calloutGraphicsNumberLimit>30</calloutGraphicsNumberLimit>
                        <calloutIconSize>6</calloutIconSize>
                        <shadeVerbatim>true</shadeVerbatim>
                        <targetDirectory>${project.build.directory}</targetDirectory>
                        <foCustomization>${basedir}/src/site/docbkx-config/docbook-fo.xsl</foCustomization>
                        <!-- <bodyFontFamily>Kaffeesatz</bodyFontFamily>
                        <monospaceFontFamily>LiberationMono</monospaceFontFamily>
                         -->
                        <fonts>
                            <font>
                                <name>Kaffeesatz</name>
                                <style>normal</style>
                                <weight>normal</weight>
                                <embedFile>${basedir}/src/fonts/YanoneKaffeesatz-Regular.ttf</embedFile>
                                <metricsFile>${basedir}/target/fonts/YanoneKaffeesatz-Regular-metrics.xml</metricsFile>
                            </font>
                            <font>
                                <name>LiberationMono</name>
                                <style>normal</style>
                                <weight>normal</weight>
                                <embedFile>${basedir}/src/fonts/LiberationMono-Regular.ttf</embedFile>
                                <metricsFile>${basedir}/target/fonts/LiberationMono-Regular-metrics.xml</metricsFile>
                            </font>
                            <font>
                                <name>VeraMono</name>
                                <style>normal</style>
                                <weight>normal</weight>
                                <embedFile>${basedir}/src/fonts/VeraMono.ttf</embedFile>
                                <metricsFile>${basedir}/target/fonts/VeraMono-metrics.xml</metricsFile>
                            </font>
                        </fonts>
                    </configuration>
                </execution>
            </executions>
            <!-- Shared configuration -->
            <configuration>
                <sourceDirectory>${basedir}/src/site/docbkx</sourceDirectory>
                <includes>*.xml</includes>
                <xincludeSupported>true</xincludeSupported>
                <generatedSourceDirectory>${project.build.directory}/site</generatedSourceDirectory>
                <highlightSource>1</highlightSource>
                <calloutGraphics>true</calloutGraphics>
                <!-- DEFAULT HTML CONFIG -->
                <targetDirectory>${project.build.directory}/site</targetDirectory>
                <htmlCustomization>src/site/docbook-config/docbook-html.xsl</htmlCustomization>
                <htmlStylesheet>css/apache-maven-fluido-1.3.0.min.css</htmlStylesheet>
                <!-- // DEFAULT HTML CONFIG -->
            </configuration>
        </plugin>

你可以在这里查看我的项目站点,你甚至可以将源代码下载到你的计算机中,看看整个事情是如何设置的。如果您有任何问题,请随时与我们联系。

希望能帮助到你

干杯卡洛斯

于 2013-06-14T15:24:46.563 回答