关键概念
项目
项目:“纯 Java 项目”,托管在 GitHub 或 GitLab 上。项目在 CLI 中注册后,可以通过一个简单的名称来引用它们。
例如,如果您注册一个使用 Spring Data JPA 的 GitHub 项目 URL,并将其命名为“jpa”,那么您可以通过调用 boot new my-jpa-app jpa 命令从该项目创建一个新项目。同样,您可以通过调用 boot add jpa 命令将 JPA 功能添加到现有项目。
与项目相关的命令有 project list、project add 和 project remove。
项目目录
项目目录:项目目录是共享共同主题的项目集合。
在 CLI 中注册目录后,使用 boot new 和 boot add 命令时,项目即可随时可用。该目录是一个名为 project-catalog.yaml 的 YAML 文件。它包含一个项目仓库 URL 列表和一个关联的名称。该目录托管在 GitHub 或 GitLab 上。
与项目目录相关的命令有 catalog list、catalog add 和 catalog remove。
用户自定义命令
命令:这些是声明式定义的命令,允许您添加或修改代码和配置文件。
您还可以运行任意可执行文件来执行开发工作流程中常见的任何任意任务。用户自定义命令集成到 CLI 中,其外观与内置命令相同。
用户自定义命令分为三个部分:命令名称、子命令名称和选项。命令名称和子命令名称通过目录结构约定来定义。
例如,要创建一个命令名称为 controller 且子命令名称为 new 的用户自定义命令,请创建以下目录结构:
.spring/commands/controller/new
在该目录中,可以有一个名为 command.yaml 的文件,用于定义命令的描述、选项和默认值。该目录(及子目录)包含定义对项目执行操作的动作文件。
角色
在您的 CLI 中,角色提供了一种跨用户定义命令组织和重用变量的方式。
Spring CLI 包含一个默认的、未命名的角色,该角色始终存在。此外,角色可以与特定名称关联,以进一步区分其目的和用法。这些角色作为 YAML 文件存储在 .spring/roles 目录中,该目录位于 .spring/commands 目录旁边。
这些角色允许您定义在动作文件中可访问的变量,从而提供了一种在命令之间共享数据的方式。
您还可以使用角色为命令行选项提供值。如果命令行选项没有指定值,并且已定义了一个与命令选项同名的角色变量,则该命令会使用该角色变量的值作为该特定命令选项的值。
与项目相关的一些常见角色命令是 role add、role remove 和 role set。