首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Maven PDF不包括站点信息

Maven PDF不包括站点信息
EN

Stack Overflow用户
提问于 2015-03-10 14:29:15
回答 2查看 1.2K关注 0票数 4

使用:

  • Maven 3.2.3
  • Java 1.8

我通过以下方法生成了该站点:

代码语言:javascript
复制
mvn site

然后,我想从这个生成的站点(根据PDF插件使用,它使用站点文档)生成PDF。我刚执行了命令:

代码语言:javascript
复制
mvn pdf:pdf

Maven确实生成一个PDF,但它所做的只是显示项目名称、版本、“项目文档”和一个不去任何地方的TOC。所有的网站信息都丢失了。

我是否需要在POM中包括一些东西,或者其他什么东西才能让它工作呢?我很感激你的帮助!

更新

根据下面的评论,我尝试使用pdf.xml,这似乎使我更接近我正在寻找的输出。

pdf.xml看起来像:

代码语言:javascript
复制
<document xmlns="http://maven.apache.org/DOCUMENT/1.0.1"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/DOCUMENT/1.0.1
          http://maven.apache.org/xsd/document-1.0.1.xsd"
          outputName="MyProject">

    <meta>
        <title>My Project</title>
        <author>IT Department</author>
    </meta>

    <toc name="Table of Contents">
        <item name="Introduction" ref="index.html"/>
        <item name="Goals" ref="project-info.html"/>
        <item name="Dependencies" ref="dependencies.html"/>
        <item name="Dependency Tree" ref="dependency-tree.html"/>
        <item name="Team" ref="team-list.html"/>
    </toc>

    <cover>
        <coverTitle>${project.name}</coverTitle>
        <coverSubTitle>v. ${project.version}</coverSubTitle>
        <coverType>User Guide</coverType>
        <projectName>${project.name}</projectName>
        <projectLogo>http://somesite.com/logo.jpg</projectLogo>
        <companyName>Google</companyName>
        <companyLogo>http://google.com/logo.gif</companyLogo>
    </cover>
</document>

我所指的HTML文件在/src/site中。然后,它们也被放入/target/pdf/site.tmp文件夹中。

Maven给出了以下输出,这有问题:

代码语言:javascript
复制
[INFO] --- maven-pdf-plugin:1.3:pdf (pdf) @ myproject---
[WARNING] Bookmarks: Unresolved id reference "./project-info" found.
[WARNING] Bookmarks: Unresolved id reference "./dependencies" found.
[WARNING] Bookmarks: Unresolved id reference "./dependency-tree" found.
[WARNING] Bookmarks: Unresolved id reference "./team-list" found.
[WARNING] Bookmarks: Unresolved id reference "./index" found.
[WARNING] Page i: Unresolved id reference "./project-info" found.
[WARNING] Page i: Unresolved id reference "./dependencies" found.
[WARNING] Page i: Unresolved id reference "./dependency-tree" found.
[WARNING] Page i: Unresolved id reference "./team-list" found.
[WARNING] Page i: Unresolved id reference "./index" found.
[WARNING] Bookmark with IDRef "./index" has a null PageViewport.
[WARNING] Bookmark with IDRef "./project-info" has a null PageViewport.
[WARNING] Bookmark with IDRef "./dependencies" has a null PageViewport.
[WARNING] Bookmark with IDRef "./dependency-tree" has a null PageViewport.
[WARNING] Bookmark with IDRef "./team-list" has a null PageViewport.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 21.354 s
[INFO] Finished at: 2015-03-20T10:03:37-04:00
[INFO] Final Memory: 30M/318M
[INFO] ------------------------------------------------------------------------

无论我如何尝试,我都无法解决未解决的id引用问题。PDF生成并显示TOC,但右边没有数字,也没有显示其他页面。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-03-20 12:48:43

Maven PDF插件似乎需要一个文档描述符(参见使用页面,段落文档描述符)。

默认情况下,它使用的是网站插件的src/site/site.xml (参见对网站插件文档的解释:http://maven.apache.org/plugins/maven-site-plugin/examples/sitedescriptor.html)。您可以选择使用src/site/pdf.xml;它是一个专门针对PDF生成的文档描述符。

更新:

一个好的目录结构是:

代码语言:javascript
复制
+- src/
   +- site/
      +- apt/
      |  +- index.apt
      |  +- team.apt
      |
      +- xdoc/
      |  +- other.xml
      |
      +- site.xml
      +- pdf.xml

在本例中,您有三个源文档(index.apt、team.apt和other.xml),它们可以在网站(转换为html文件)或PDF中使用。

票数 1
EN

Stack Overflow用户

发布于 2016-03-01 11:01:30

嗨,我想这个错误是因为maven-pdf插件默认不支持降价。通过在我的pom.xml中添加以下插件配置,我也解决了同样的问题:

代码语言:javascript
复制
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-pdf-plugin</artifactId>
            <version>1.3</version>
            <executions>
                <execution>
                    <id>pdf</id>
                    <phase>site</phase>
                    <goals>
                        <goal>pdf</goal>
                    </goals>
                    <configuration>
                        <outputDirectory>${project.reporting.outputDirectory}</outputDirectory>
                        <includeReports>false</includeReports>
                    </configuration>
                </execution>
            </executions>
            <dependencies>
                <dependency>
                    <groupId>org.apache.maven.doxia</groupId>
                    <artifactId>doxia-module-markdown</artifactId>
                    <version>1.6</version>
                </dependency>
            </dependencies>
        </plugin>
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28966387

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档