Spring Boot CLI是一个命令行工具,您可以使用它从start.spring.io启动一个新项目或对密码进行编码。
1. 安装CLI
Spring Boot CLI(命令行界面)可以通过手动使用SDKMAN!(SDK管理器)安装,或者如果您是OSX用户,可以使用Homebrew或MacPorts进行安装。有关全面的安装说明,请参见“入门”部分中的getting-started.html。
2. 使用CLI
安装完CLI后,您可以在命令行中键入spring
并按Enter键运行。如果您运行spring
而不带任何参数,则会显示帮助屏幕,如下所示:
$ spring
usage: spring [--help] [--version]
<command> [<args>]
可用命令有:
init [options] [location]
使用Spring Initializr(start.spring.io)初始化新项目
encodepassword [options] <password to encode>
为Spring Security编码密码
shell
启动嵌套shell
常见选项:
--debug 详细模式
为您运行的命令打印额外的状态信息
有关特定命令的更多信息,请参阅'spring help <command>'。
您可以键入spring help
以获取有关任何受支持命令的更多详细信息,如下例所示:
$ spring help init
spring init - 使用Spring Initializr(start.spring.io)初始化新项目
usage: spring init [options] [location]
选项 描述
------ -----------
-a, --artifact-id <String> 项目坐标; 推断存档名称(例如'test')
-b, --boot-version <String> Spring Boot版本(例如'1.2.0.RELEASE')
--build <String> 要使用的构建系统(例如'maven'或'gradle')(默认值:maven)
-d, --dependencies <String> 要包含在生成项目中的依赖项标识符的逗号分隔列表
--description <String> 项目描述
-f, --force 强制覆盖现有文件
--format <String> 生成内容的格式(例如'build'用于构建文件,'project'用于项目存档)(默认值:project)
-g, --group-id <String> 项目坐标(例如'org.test')
-j, --java-version <String> 语言级别(例如'1.8')
-l, --language <String> 编程语言(例如'java')
--list 列出服务的功能。用于发现可用的依赖项和类型
-n, --name <String> 项目名称; 推断应用程序名称
-p, --packaging <String> 项目打包(例如'jar')
--package-name <String> 包名称
-t, --type <String> 项目类型。如果使用--build和/或--format,则通常不需要。查看服务的功能(--list)以获取更多详细信息
--target <String> 要使用的服务的URL(默认值:https://start.spring.io)
-v, --version <String> 项目版本(例如'0.0.1-SNAPSHOT')
-x, --extract 提取项目存档。如果指定了位置但没有扩展名,则推断
示例:
列出服务的所有功能:
$ spring init --list
创建默认项目:
$ spring init
创建一个web my-app.zip:
$ spring init -d=web my-app.zip
创建一个web/data-jpa gradle项目解压:
$ spring init -d=web,jpa --build=gradle my-dir
version
命令提供了一种快速检查您正在使用的Spring Boot版本的方法,如下所示:
$ spring version
Spring CLI v3.2.3
2.1. 初始化新项目
init
命令允许您在不离开shell的情况下使用start.spring.io创建新项目,如下例所示:
$ spring init --dependencies=web,data-jpa my-project
使用https://start.spring.io的服务
项目提取到'/Users/developer/example/my-project'
上面的示例创建了一个my-project
目录,其中包含一个使用spring-boot-starter-web
和spring-boot-starter-data-jpa
的基于Maven的项目。您可以使用--list
标志列出服务的功能,如下例所示:
$ spring init --list
=======================================
https://start.spring.io的功能
=======================================
可用依赖项:
-----------------------
actuator - Actuator: 用于帮助监视和管理应用程序的生产就绪功能
...
web - Web: 支持全栈Web开发,包括Tomcat和spring-webmvc
websocket - Websocket: 支持WebSocket开发
ws - WS: 支持Spring Web Services
可用项目类型:
------------------------
gradle-build - Gradle配置[格式:构建, 构建:gradle]
gradle-project - Gradle项目[格式:项目, 构建:gradle]
maven-build - Maven POM[格式:构建, 构建:maven]
maven-project - Maven项目[格式:项目, 构建:maven](默认)
...
init
命令支持许多选项。有关更多详细信息,请参阅help
输出。例如,以下命令创建一个使用Java 17和war
打包的Gradle项目:
$ spring init --build=gradle --java-version=17 --dependencies=websocket --packaging=war sample-app.zip
使用https://start.spring.io的服务
内容保存到'sample-app.zip'
2.2. 使用嵌入式Shell
Spring Boot包含用于BASH和zsh shell的命令行完成脚本。如果您不使用这两个shell(也许您是Windows用户),您可以使用shell
命令启动集成的shell,如下例所示:
$ spring shell
Spring Boot(v3.2.3)
按TAB键进行完成。键入'help'并按回车键获取帮助,键入'exit'退出。
在嵌入式shell中,您可以直接运行其他命令:
$ version
Spring CLI v3.2.3
嵌入式shell支持ANSI颜色输出以及tab
完成。如果需要运行本机命令,可以使用!
前缀。要退出嵌入式shell,请按ctrl-c
。