You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Maven PDF插件忽略Asciidoc文件问题求助

解决Maven PDF插件不包含Asciidoc内容的问题

不用弃用Markdown,通过以下两种常见方法就能让Asciidoc内容纳入PDF:

方法一:调整Maven PDF插件的配置,指定扫描Asciidoc生成的HTML

Maven PDF插件默认不会自动识别Asciidoc文件,但它可以基于Asciidoc转换后的HTML生成PDF。既然你已经能用mvn site正常生成包含Asciidoc的站点,说明Asciidoc已经被转换成HTML存到target/site目录下了,只要让PDF插件扫描到这些文件就行。

修改pom.xml里的maven-pdf-plugin配置,添加对Asciidoc生成HTML的扫描规则:

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-pdf-plugin</artifactId>
  <version>3.3.0</version>
  <executions>
    <execution>
      <id>generate-pdf</id>
      <phase>site</phase>
      <goals>
        <goal>pdf</goal>
      </goals>
      <configuration>
        <!-- 同时包含markdown源文件和Asciidoc生成的HTML -->
        <sources>
          <source>src/site/markdown/**/*.md</source>
          <source>target/site/asciidoc/**/*.html</source>
        </sources>
        <!-- 开启资源包含,确保样式、图片等正常加载 -->
        <includeResources>true</includeResources>
      </configuration>
    </execution>
  </executions>
</plugin>

注意替换target/site/asciidoc为你实际的Asciidoc HTML输出目录。

方法二:完善站点导航配置(site.xml)

如果你的Asciidoc页面没被加入站点导航,PDF插件可能会忽略这些内容——因为它默认是根据site.xml里的导航结构来收集页面生成PDF的。

打开src/site/site.xml,把Asciidoc生成的页面加入到菜单中:

<menu name="文档">
  <item name="Markdown说明" href="markdown-docs.html"/>
  <item name="Asciidoc指南" href="asciidoc-guide.html"/>
</menu>

这里的href要对应Asciidoc转换后的HTML文件名,配置后再执行mvn site pdf:pdf,PDF就会包含导航里的所有页面内容。

如果以上方法都不生效,再考虑备选方案:用pandoc这类工具批量把Markdown转成Asciidoc,再用Asciidoctor PDF插件直接生成统一的PDF,但完全没必要直接弃用Markdown。

内容的提问来源于stack exchange,提问作者Sven

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 11:12:21