PlantUML使用总结

画UML图试过多种软件,适合团队共同创作的还是PlantUML,主要原因是载体不是二进制文件,更容易被git托管,查看变更历史。
当然也存在一定的缺点,比如自动生成的排版不一定符合预期,但通过一些隐藏线条还是可以做一些局部版式调整,需要精细调整style的还是推荐用draw.io
这里记录一些常见问题的解法和好用的技巧,常用图的语法可以参考官方文档,这里不再列出。

更好看的样式

PlantUML默认样式比较古板,可以试下这个样式,更贴近现代,链接,使用很简单,通过include命令来引用

@startuml
!include https://unpkg.com/plantuml-style-c4@latest/core.puml
' uncomment the following line and comment the first to use locally
'!include core.puml

@enduml

定义统一样式

有时很多模块用的统一的样式,可以通过define命令定义变量,之后用 变量 替代,后续样式修改,也只需要改定义的变量,define的语法类似C语言

' 定义统一的蓝色card
!define bluec card #blue

' 这里使用
bluec "test"

通过隐藏线排版

在线中添加 hidden,可以隐藏线条,调整排版样式

rectangle A as a #lightyellow {
}
rectangle B as b {
}
' 线 隐藏
a -[hidden]-|> c

注释

单行注释为 单引号开头
多行注释为 斜杠组合单引号

' 多行注释
/'
comments
of
multiline
'/

生成超大图

有的时候代码太多,会发现生成的图片只有一半,因为plantUML默认限制宽度和高度为4096
可以设置环境变量 PLANTUML_LIMIT_SIZE ,指定更大的值

  • 设置操作系统的环境变量 PLANTUML_LIMIT_SIZE
  • IDEA的PlantUML插件,可以在Settings->PlantUML->PLANTUML_LIMIT_SIZE 调整
  • 通过调用代码生成的话,可以在运行参数上加 -DPLANTUML_LIMIT_SIZE=100000 ,图片过大还需要调整堆大小,如下
-DPLANTUML_LIMIT_SIZE=100000 -Xmx8096m

通过API生成图片

依赖的jar包

下载链接

示例代码

import java.io.OutputStream;
import net.sourceforge.plantuml.SourceStringReader;

try {
    //源码
    String umlSource = "xxxxx";
    // 需要生成的图片文件路径
    String outputFileName = "xxxxx";
    OutputStream png = new FileOutputStream(outputFileName);
    SourceStringReader reader = new SourceStringReader(umlSource);
    reader.generateImage(png);
    System.out.println("Output UML Class diagram with name '" + outputFileName + ".png' is generated in base directory");
} catch (Exception e) {
    System.err.println("Failed to create output file");
    e.printStackTrace();
}

参考资料

官方文档
官方问答
官方论坛

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值