【问题标题】:PlantUml Graphviz generates 2 duplicate diagramsPlantUml Graphviz 生成 2 个重复图
【发布时间】:2023-02-05 11:03:16
【问题描述】:

我有这个降价代码,它将使用 plantuml 和 graphviz 生成到一个 html 文件中。

 @image html Module23Static.png TC3
 @startuml{Module23Static.png}
   caption Module Dependencies and Interfaces of Module 23
   skinparam componentStyle uml2
     package "SW_Component"{
       [Module 1\n--\n provided interfaces:\n func1\n data1\n--\n required interfaces:\n Module2\n Module3] as M1
       [Module 2\n--\n provided interfaces:\n func2\n--\n required interfaces:\n interface_3\n Module4] as M2
       [Module 4\n--\n provided interfaces:\n func7\n func8] as M4
       M1 ..> M2 : use
       M2 ..> M4 : use
     }
 @enduml

此代码块将生成相同的图表两次,一个接一个。我希望它只创建一次图表。

如果我删除行“@image html Module23Static.png TC3”,它会给我一个“点可执行文件:文件不存在找不到 Graphviz...”错误。我已经安装了 Graphviz 2.50 和 Doxygen 1.8.14,并且还设置了 GRAPHVIZ_DOT 变量。

我在 Windows 上运行,并使用批处理文件生成安装了 plantuml 和 graphviz 的 doxygen。

我在这里错过了什么?以前有人遇到过同样的问题吗?

【问题讨论】:

  • 我在这里缺少什么?:标签 doxygen!您使用的是哪个版本的 doxygen?
  • 我正在使用 doxygen 1.8.11。
  • Doxygen 1.8.11 很旧,2015 年 12 月 30 日。请升级到当前版本 (1.9.3)
  • Doxygen 1.8.14 也比较旧(2017 年 12 月 25 日)所以建议仍然是:升级到当前版本(1.9.3)

标签: doxygen graphviz plantuml


【解决方案1】:

Doxygen 将基于 @startuml ... @enduml 创建一个名为 Module23Static.png 的图像并将其添加到输出中。事先你也使用@image html Module23Static.png TC3,这也会添加相同的图像,因此你得到两倍的图像。

所以你可以删除image html Module23Static.png TC3

【讨论】:

  • 如果我删除“@image html Module23Static.png TC3”这一行,它会给我一个“点可执行文件:文件不存在,找不到 Graphviz ...”错误的图像。
  • 点是否已安装并在您的路径中可用?当点可执行文件在您的路径中可用时,您不必为 plantuml 设置环境变量 GRAPHVIZ_DOT
猜你喜欢
  • 1970-01-01
  • 2012-03-18
  • 2015-09-15
  • 2012-12-15
  • 2023-01-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-29
相关资源
最近更新 更多