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

PlantUML中Package内Folder与Class共存异常问题求助

PlantUML中Folder与Class写法问题及代码修复

问题描述

核心疑问:PlantUML中在folder之后使用class或反之的写法是否存在问题?同时以下两段代码无法正常运行,需排查原因:

简化测试代码

@startuml
package TestPackage {
    folder "Test Folder" {
        [Item A]
        [Item B]
    }
    class TestClass
}
@enduml

实际使用的简化代码

@startuml
!theme vibrant

title Obsidian Productivity System Overview

actor User

package "Obsidian Vault" {

    package "Core Structure" {
        folder "Folders (PARA-light)" {
            [Ideas Folder]
            [Notes Folder (General)]
            [Projects Folder]
            [Side Projects Folder]
            [Learn Folder]
            [Blog Folder]
            [Assets Folder]
            [Etc Folder] <<e.g. Monthly Assess.>>
        }
        class "This is my class" as class1
        class class2 as "It works this way too"
    }
}
@enduml

问题原因及修复方案

核心问题解析

folder与class的声明顺序本身不存在语法冲突——在同一父容器(如package)中,先写folder再写class,或反过来,都不会导致代码报错。

你的代码无法运行的真实原因是:folder容器内使用了错误的元素类型。[Item X]是PlantUML中component(组件)的简写,但folder容器默认仅支持放置class、interface、folder等特定类型元素,直接放入component会触发语法解析失败。

修复方案

方案1:替换folder内的元素类型

将[Item X]改为class "Item X",如果需要保留“文件夹子项”的语义,也可以使用file "Item X"(需确保PlantUML版本支持file元素)。

修复后的实际代码示例

@startuml
!theme vibrant

title Obsidian Productivity System Overview

actor User

package "Obsidian Vault" {

    package "Core Structure" {
        folder "Folders (PARA-light)" {
            class "Ideas Folder"
            class "Notes Folder (General)"
            class "Projects Folder"
            class "Side Projects Folder"
            class "Learn Folder"
            class "Blog Folder"
            class "Assets Folder"
            class "Etc Folder" <<e.g. Monthly Assess.>>
        }
        class "This is my class" as class1
        class class2 as "It works this way too"
    }
}
@enduml

方案2:调整容器结构(若需保留component)

如果必须使用component,可以将其放入package而非folder中,或者显式声明component类型并确保容器兼容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 00:42:11