最新の安定バージョンについては、Spring Cli 0.9.0 を使用してください!

Initializr

Spring CLI は github.com/spring-io/initializr (英語) のクライアントとして使用でき、デフォルトは start.spring.io です。シェルスタイルのプロジェクト作成は、UI からプロジェクトを作成する方法を模倣します。次の図はその例を示しています。

initializr-1

新規コマンド

new コマンドを使用するには、コマンドラインでオプションを定義します。その後、Initializr がさらに情報を必要とする場合、対話モードに移行して明確な質問をします。

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]

次の例は、すべてのオプションが提供され、コマンドが何も要求されずに通過することを示しています。

$ 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 コマンドを使用すると、定義したカスタムの初期化サーバーを確認できます。

$ spring help initializr list
NAME
       initializr list - Show the Initializr server environments

SYNOPSIS
       initializr list

カスタム Initializr を 1 つ定義している場合、出力は次のようになります。

$ spring initializr list
┌────────┬─────────────────────┐
│ServerId│Url                  │
├────────┼─────────────────────┤
│local   │http://localhost:8080│
└────────┴─────────────────────┘

セットコマンド

set コマンドを使用して、新しいサーバー環境を定義できます。

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]

たとえば、次のようにローカルの初期化サーバーを定義できます。

$ spring initializr set --server-id local --url http://localhost:8080

削除コマンド

remove コマンドを使用して、サーバー環境を削除できます。

$ 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]

たとえば、次のようにローカルの初期化サーバーを削除できます。

$ spring initializr remove --server-id local

依存関係コマンド

dependencies コマンドを使用して、initializr 依存関係を一覧表示および検索できます。

$ 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]

たとえば、次のようにして、initializr サーバーを検索できます。

$ spring initializr dependencies --search webflux
┌───────┬───────────────────┬──────────────────────────────────────────────────────────────┬────────────────┐
│Id     │Name               │Description                                                   │Required version│
├───────┼───────────────────┼──────────────────────────────────────────────────────────────┼────────────────┤
│webflux│Spring Reactive Web│Build reactive web applications with Spring WebFlux and Netty.│                │
└───────┴───────────────────┴──────────────────────────────────────────────────────────────┴────────────────┘