本站(springdoc.cn)中的内容来源于 spring.io ,原始版权归属于 spring.io。由 springdoc.cn 进行翻译,整理。可供个人学习、研究,未经许可,不得进行任何转载、商用或与之相关的行为。 商标声明:Spring 是 Pivotal Software, Inc. 在美国以及其他国家的商标。 |
Spring Boot CLI是一个命令行工具,你可以用它来从 start.spring.io 引导一个新项目,或对密码进行编码。
1. 安装 CLI
Spring Boot CLI(命令行接口)可以通过使用SDKMAN! (SDK管理器)或使用Homebrew或MacPorts(如果你是OSX用户)来手动安装。请参阅 “Getting started” 部分的 getting-started.html ,了解全面的安装说明。
2. 使用 CLI
一旦你安装了CLI,你可以通过在命令行输入 spring
并按下Enter键来运行它。
如果你在没有任何参数的情况下运行 spring
,会显示一个帮助屏幕,如下所示。
$ 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 help
来获得任何支持的命令的更多细节,如下面的例子所示。
$ 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
version
命令提供了一种快速的方法来检查你所使用的Spring Boot的版本,如下所示。
$ spring version
Spring CLI v3.2.0-SNAPSHOT
2.1. 初始化一个新项目
init
命令让你在不离开shell的情况下使用 start.spring.io ,创建一个新项目,如下例所示。
$ spring init --dependencies=web,data-jpa my-project
Using service at https://start.spring.io
Project extracted to '/Users/developer/example/my-project'
前面的例子创建了一个 my-project
目录,其中有一个基于Maven的项目,使用 spring-boot-starter-web
和 spring-boot-starter-data-jpa
。你可以通过使用 --list
标志列出服务的能力,如下例所示。
$ 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)
...
init
命令支持许多选项。
更多细节请参见 help
输出。
例如,下面的命令创建了一个使用 Java 17 和 war
打包的Gradle项目。
$ 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'
2.2. 使用嵌入式 Shell
Spring Boot包括BASH和zsh shells的命令行完成脚本。如果你不使用这两个shell(也许你是Windows用户),你可以使用 shell
命令来启动一个集成shell,如下例所示。
$ spring shell
Spring Boot (v3.2.0-SNAPSHOT)
Hit TAB to complete. Type \'help' and hit RETURN for help, and \'exit' to quit.
在嵌入式shell,你可以直接运行其他命令。
$ version
Spring CLI v3.2.0-SNAPSHOT
嵌入式shell支持ANSI颜色输出以及 tab
补全。
如果你需要运行一个本地命令,你可以使用 !
前缀。
要退出嵌入式shell,按 ctrl-c
。