For the latest stable version, please use Spring Cli 0.9.0! |
Initializr
Spring CLI can be used as a client for an instance of a github.com/spring-io/initializr and defaults to start.spring.io. Shell style project creation mimics how project is created from an UI and example of it can be seen below.
New Command
Generic use of a new
command is that options can be defined on a command line and if something is needed
then shell enters interactive mode to ask various questions from a user.
NAME
initializr new - Create a new project from start.spring.io
SYNOPSIS
initializr new --server-id String --path String --project String --language String --boot-version String
--version String --group String --artifact String --name String --description String --package-name String
--dependencies List --packaging String --java-version String
OPTIONS
--server-id String
Server to use
[Optional]
--path String
Path to extract
[Optional]
--project String
Project
[Optional]
--language String
Language
[Optional]
--boot-version String
Language
[Optional]
--version String
Version
[Optional]
--group String
Group
[Optional]
--artifact String
Artifact
[Optional]
--name String
Name
[Optional]
--description String
Description
[Optional]
--package-name String
Package Name
[Optional]
--dependencies List
Dependencies
[Optional]
--packaging String
Packaging
[Optional]
--java-version String
Java
[Optional]
Below example shows how all options are given and command just pass through without asking anything.
$ spring initializr new \
--path demo \
--project gradle-project \
--language java \
--boot-version 2.7.0 \
--version 0.0.1-SNAPSHOT \
--group com.example \
--artifact demo \
--name demo \
--description "Demo project" \
--package-name com.example.demo \
--dependencies web \
--packaging jar \
--java-version 17
List Command
Use list
command to see what custom initializr servers you have defined.
$ spring help initializr list
NAME
initializr list - Show the Initializr server environments
SYNOPSIS
initializr list
Having one defined you’d see something like.
$ spring initializr list
┌────────┬─────────────────────┐
│ServerId│Url │
├────────┼─────────────────────┤
│local │http://localhost:8080│
└────────┴─────────────────────┘
Set Command
Use set
command to define a new server environment.
NAME
initializr set - Set the Initializr server environment
SYNOPSIS
initializr set [--server-id String] [--url String]
OPTIONS
--server-id String
Server to use
[Mandatory]
--url String
Server base url
[Mandatory]
You can for example define your local initializr server like this.
$ spring initializr set --server-id local --url http://localhost:8080
Remove Command
Use remove
command to remove a server environment.
$ spring help initializr remove
NAME
initializr remove - Remove the Initializr server environment
SYNOPSIS
initializr remove [--server-id String]
OPTIONS
--server-id String
Server to use
[Mandatory]
You can for example remove your local initializr server like this.
$ spring initializr remove --server-id local
Dependencies Command
Use dependencies
command to list and search initializr dependencies.
$ spring help initializr dependencies
NAME
initializr dependencies - List supported dependencies
SYNOPSIS
initializr dependencies --server-id String --search String --version String
OPTIONS
--server-id String
Server to use
[Optional]
--search String
Search string to limit results
[Optional]
--version String
Limit to compatibility version
[Optional]
You can for example search initializr server like this.
$ spring initializr dependencies --search webflux
┌───────┬───────────────────┬──────────────────────────────────────────────────────────────┬────────────────┐
│Id │Name │Description │Required version│
├───────┼───────────────────┼──────────────────────────────────────────────────────────────┼────────────────┤
│webflux│Spring Reactive Web│Build reactive web applications with Spring WebFlux and Netty.│ │
└───────┴───────────────────┴──────────────────────────────────────────────────────────────┴────────────────┘