使用 CLI

安装 CLI 后,您可以通过在命令行中键入并按 Enter 来运行它。 如果在没有任何参数的情况下运行,则会显示一个帮助屏幕,如下所示:springspringspring-doc.cn

$ spring
usage: spring [--help] [--version]
       <command> [<args>]

Available commands are:

  init [options] [location]
    Initialize a new project using Spring Initializr (start.spring.io)

  encodepassword [options] <password to encode>
    Encode a password for use with Spring Security

  shell
    Start a nested shell

Common options:

  --debug Verbose mode
    Print additional status information for the command you are running


See 'spring help <command>' for more information on a specific command.

您可以键入以获取有关任何受支持命令的更多详细信息,如以下示例所示:spring helpspring-doc.cn

$ spring help init
spring init - Initialize a new project using Spring Initializr (start.spring.io)

usage: spring init [options] [location]

Option                       Description
------                       -----------
-a, --artifact-id <String>   Project coordinates; infer archive name (for
                               example 'test')
-b, --boot-version <String>  Spring Boot version (for example '1.2.0.RELEASE')
--build <String>             Build system to use (for example 'maven' or
                               'gradle') (default: maven)
-d, --dependencies <String>  Comma-separated list of dependency identifiers to
                               include in the generated project
--description <String>       Project description
-f, --force                  Force overwrite of existing files
--format <String>            Format of the generated content (for example
                               'build' for a build file, 'project' for a
                               project archive) (default: project)
-g, --group-id <String>      Project coordinates (for example 'org.test')
-j, --java-version <String>  Language level (for example '1.8')
-l, --language <String>      Programming language  (for example 'java')
--list                       List the capabilities of the service. Use it to
                               discover the dependencies and the types that are
                               available
-n, --name <String>          Project name; infer application name
-p, --packaging <String>     Project packaging (for example 'jar')
--package-name <String>      Package name
-t, --type <String>          Project type. Not normally needed if you use --
                               build and/or --format. Check the capabilities of
                               the service (--list) for more details
--target <String>            URL of the service to use (default: https://start.
                               spring.io)
-v, --version <String>       Project version (for example '0.0.1-SNAPSHOT')
-x, --extract                Extract the project archive. Inferred if a
                               location is specified without an extension

examples:

    To list all the capabilities of the service:
        $ spring init --list

    To creates a default project:
        $ spring init

    To create a web my-app.zip:
        $ spring init -d=web my-app.zip

    To create a web/data-jpa gradle project unpacked:
        $ spring init -d=web,jpa --build=gradle my-dir

该命令提供了一种快速方法来检查您正在使用的 Spring Boot 版本,如下所示:versionspring-doc.cn

$ spring version
Spring CLI v3.4.0

初始化新项目

该命令允许您在不离开 shell 的情况下使用 start.spring.io 创建新项目,如以下示例所示:initspring-doc.cn

$ spring init --dependencies=web,data-jpa my-project
Using service at https://start.spring.io
Project extracted to '/Users/developer/example/my-project'

前面的示例创建一个目录,其中包含一个基于 Maven 的项目,该项目使用 和 。 您可以使用标志列出服务的功能,如以下示例所示:my-projectspring-boot-starter-webspring-boot-starter-data-jpa--listspring-doc.cn

$ spring init --list
=======================================
Capabilities of https://start.spring.io
=======================================

Available dependencies:
-----------------------
actuator - Actuator: Production ready features to help you monitor and manage your application
...
web - Web: Support for full-stack web development, including Tomcat and spring-webmvc
websocket - Websocket: Support for WebSocket development
ws - WS: Support for Spring Web Services

Available project types:
------------------------
gradle-build -  Gradle Config [format:build, build:gradle]
gradle-project -  Gradle Project [format:project, build:gradle]
maven-build -  Maven POM [format:build, build:maven]
maven-project -  Maven Project [format:project, build:maven] (default)

...

该命令支持许多选项。 有关更多详细信息,请参阅输出。 例如,以下命令创建一个使用 Java 17 并打包的 Gradle 项目:inithelpwarspring-doc.cn

$ spring init --build=gradle --java-version=17 --dependencies=websocket --packaging=war sample-app.zip
Using service at https://start.spring.io
Content saved to 'sample-app.zip'

使用嵌入式 Shell

Spring Boot 包括 BASH 和 zsh shell 的命令行完成脚本。 如果您不使用这两个 shell(可能是 Windows 用户),则可以使用该命令启动集成的 shell,如以下示例所示:shellspring-doc.cn

$ spring shell
Spring Boot (v3.4.0)
Hit TAB to complete. Type \'help' and hit RETURN for help, and \'exit' to quit.

在嵌入式 shell 内部,您可以直接运行其他命令:spring-doc.cn

$ version
Spring CLI v3.4.0

嵌入式 shell 支持 ANSI 颜色输出和完成。 如果需要运行本机命令,可以使用前缀。 要退出嵌入式 shell,请按 。tab!ctrl-cspring-doc.cn