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

如何用PlantUML实现包含跨子包组件K1、K2的容器?

在PlantUML中跨子包用容器包含指定组件的实现方法

当然可行,你之前的问题是因为直接嵌套了整个子包导致不符合预期。可以通过单独定义外层容器,再关联目标组件的方式实现,无需嵌套子包。

实现代码

用矩形作为外层容器

@startuml
package "Sub-Package 1" {
  component x 
  component K1
  x -> K1
}

package "Sub-Package 2" {
  component y
  component K2
  y -> K2
}

rectangle "span over k1 / k2" as SPAN
SPAN contains K1
SPAN contains K2
@enduml

用Package作为外层容器

如果更倾向用Package而非矩形,只需替换rectangle为package:

@startuml
package "Sub-Package 1" {
  component x 
  component K1
  x -> K1
}

package "Sub-Package 2" {
  component y
  component K2
  y -> K2
}

package "span over k1 / k2" as SPAN
SPAN contains K1
SPAN contains K2
@enduml

效果说明

上述代码会生成一个仅包裹K1、K2的外层容器,两个组件仍保留在各自的子包中,子包内的其他组件(x、y)不会被纳入外层容器,完全匹配你的预期需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 01:55:07