在Antora构建的Asciidoc中引入PlantUML遇路径错误,求解决方案
问题分析
IDE(比如IntelliJ)是基于本地文件系统路径解析资源,而Antora采用模块资源ID的逻辑管理资源——哪怕文件在同一目录,直接用相对路径也会导致构建失败。原因是Antora构建时会重新组织资源结构,不会保留本地目录的直接引用关系,这就是本地预览正常但构建报错的核心原因。
解决方案
1. 标准Antora资源ID引用
在foo.adoc里,把原有的PlantUML引用替换成Antora的资源ID格式,针对你的项目结构,正确写法如下:
如果是用!include导入PlantUML内容:
[plantuml] ---- !include module:ROOT:pages/bar.puml ----
如果是直接引用整个PlantUML文件生成图表:
plantuml::module:ROOT:pages/bar.puml[自定义图表标题]
2. 同目录简化引用(可选)
因为两个文件在同一模块的同一目录下,也可以用更简洁的相对资源引用,省略模块和目录前缀:
[plantuml] ---- !include resource::bar.puml ----
Antora会自动识别当前adoc所在的模块和目录,匹配对应的.puml文件。
3. 确认资源加载配置
检查你的antora-playbook.yml,确保没有限制.puml文件的加载。默认配置下modules/ROOT/pages下的所有文件都会被识别,若有自定义resources规则,需确保包含.puml类型:
site: resources: - path: '**/*.puml' included: true
关键提醒
绝对不要用本地相对路径(比如./bar.puml或直接写bar.puml),Antora构建时无法识别这种文件系统路径;而内联PlantUML正常,是因为代码直接嵌入在adoc文件中,不需要加载外部资源。
内容的提问来源于stack exchange,提问作者miracoly
相关产品推荐
相关产品推荐

