Quarkus コマンドラインインターフェイス (CLI) を使用した Quarkus アプリの構築
プレビューquarkus コマンドを使用すると、プロジェクトを作成し、エクステンションを管理し、基盤となるプロジェクトビルドツールを使用して重要なビルドおよび開発コマンドを実行できます。
|
この技術は、previewと考えられています。 preview では、下位互換性やエコシステムでの存在は保証されていません。具体的な改善には設定や API の変更が必要になるかもしれませんが、 stable になるための計画は現在進行中です。フィードバックは メーリングリスト や GitHub の課題管理 で受け付けています。 とりうるステータスの完全なリストについては、 FAQの項目 を参照してください。 |
CLI のインストール
Quarkus CLI は、以下のようないくつかの開発者向けのパッケージマネージャーで利用できます。
これらのツールのいずれかをすでに使用している (または使用したい) 場合、これは Quarkus CLI をインストールして最新の状態に保つ最も簡単な方法です。
これらのパッケージマネージャーに加えて、Quarkus CLI は JBang からもインストールできます。最も実用的な方法を選択してください。
-
JBang - Linux、macOS、および Windows 向け
-
SDKMAN! - Linux および macOS 向け
-
Homebrew - Linux および macOS 向け
-
Chocolatey - Windows 向け
-
Scoop - Windows 向け
CLI の使用
--help を使用して、使用可能なすべてのコマンドと共にヘルプ情報を表示します。
quarkus --help
Usage: quarkus [-ehv] [--verbose] [-D=<String=String>]... [COMMAND]
Options:
-D=<String=String> Java properties
-e, --errors Display error messages.
-h, --help Show this help message and exit.
-v, --version Print version information and exit.
--verbose Verbose mode.
Commands:
create Create a new project.
app Create a Quarkus application project.
cli Create a Quarkus command-line project.
extension Create a Quarkus extension project
build Build the current project.
dev Run the current project in dev (live coding) mode.
extension, ext Configure extensions of an existing project.
list, ls List platforms and extensions.
categories, cat List extension categories.
add Add extension(s) to this project.
remove, rm Remove extension(s) from this project.
registry Configure Quarkus registry client
list List enabled Quarkus registries
add Add a Quarkus extension registry
remove Remove a Quarkus extension registry
version Display version information.
|
このドキュメントは参照として役立ちますが、最も信頼のおける情報源はクライアントヘルプです。 期待する出力が表示されない場合は、 |
新規プロジェクトの作成
新しいプロジェクトを作成するには、 create コマンドを使用します (指定されていない場合は、 app サブコマンドが暗黙的に指定されます)。
quarkus create
-----------
applying codestarts...
📚 java
🔨 maven
📦 quarkus
📝 config-properties
🔧 dockerfiles
🔧 maven-wrapper
🚀 resteasy-codestart
-----------
[SUCCESS] ✅ quarkus project has been successfully generated in:
--> /<output-dir>/code-with-quarkus
これにより、デフォルトの groupId、artifactId、および version の値 (groupId='org.acme'、artifactId='code-with-quarkus' および version='1.0.0-SNAPSHOT') を使用して、現在の作業ディレクトリーに 'code-with-quarkus' という名前のフォルダーが作成されます。
注記: 上記の絵文字は正確に一致しない場合があります。絵文字の表示は、フォント、端末/環境によって異なる場合があります。たとえば、IntelliJ IDEA には、ターミナルでの絵文字の動作/レンダリングに関して、いくつかの長期にわたる問題があります。
2.0.2.Final 以降、コマンドラインで直接 group:artifactId:version 座標構文を使用して、groupId、artifactId、およびバージョンを指定する必要があります。セグメントを選択的に省略して、デフォルト値を使用することができます。
# Create a project with groupId=org.acme, artifactId=bar, and version=1.0.0-SNAPSHOT
quarkus create app bar
# Create a project with groupId=com.foo, artifactId=bar, and version=1.0.0-SNAPSHOT
quarkus create app com.foo:bar
# Create a project with groupId=com.foo, artifactId=bar, and version=1.0
quarkus create app com.foo:bar:1.0
出力には、プロジェクトが作成されていることが表示されます。
-----------
applying codestarts...
📚 java
🔨 maven
📦 quarkus
📝 config-properties
🔧 dockerfiles
🔧 maven-wrapper
🚀 resteasy-codestart
-----------
[SUCCESS] ✅ quarkus project has been successfully generated in:
--> /<output-dir>/bar
-----------
プロジェクトを作成するためのオプションを表示するには、help オプションを使用します:
quarkus create app --help
quarkus create cli --help
|
以前のバージョンの CLI では、オプション |
Quarkus バージョンの指定
Both quarkus create and quarkus extension list allow you to explicitly specify a version of Quarkus in one of two ways:
-
特定のプラットフォーム・リリースBOMを指定
QuarkusプラットフォームのリリースBOM は、
groupId:artifactId:version(GAV)座標で識別されます。プラットフォームリリースのBOMを指定する場合、空のセグメントを使用してデフォルト値(quarkus create app --help)に戻すことができます。セグメントを1つだけ指定した場合(:を指定しない場合)、そのセグメントはバージョンであると見なされます。例えば、以下のようになります。
-
2.0.0.Finalバージョンの CLI では、-P :quarkus-bom:を指定すると、-P io.quarkus:quarkus-bom:2.0.0.Finalと同じになります。-P 999-SNAPSHOTを指定すると、-P io.quarkus:quarkus-bom:999-SNAPSHOTと同じになります。 -
2.1.0.Finalバージョンの CLI では、io.quarkus.platformがデフォルトのグループ ID です。-P :quarkus-bom:を指定すると、-P io.quarkus.platform:quarkus-bom:2.1.0.Finalと同じになります。スナップショットで作業するにはグループ ID を指定する必要があることに注意してください。例えば、-P io.quarkus::999-SNAPSHOTは-P io.quarkus:quarkus-bom:999-SNAPSHOTと同じになります。注意:デフォルト値は変更されることがあります。
--dry-runオプションを使用すると、計算された値が表示されます。
-
-
プラットフォーム・ストリームの指定
プラットフォーム・ストリームは、リモート・レジストリに対して動作します。各レジストリは1つ以上のプラットフォーム・ストリームを定義し、各ストリームは、そのストリームを使用するプロジェクトの設定方法を定義する1つ以上のプラットフォーム・リリースBOMファイルを定義します。
ストリームは、
platformKey:streamId構文を使用して識別されます。特定のストリームを指定するには-S platformKey:streamIdを使用します。ストリームを指定する際、空のセグメントはストリームリソースの解決ルールに 基づき、 発見された デフォルトに置き換えられます。
エクステンションの使用
quarkus ext --help
エクステンションの一覧表示
The Quarkus CLI can be used to list Quarkus extensions.
quarkus ext ls
結果のフォーマットは、4つのオプションのいずれかで制御できます:
-
--name名前(artifactId)のみの表示 -
--concise名前(artifactId)と説明を表示します -
--fullconciseフォーマットに加えバージョン/ステータス関連のカラムを表示します。 -
--originsconciseフォーマットと共に、エクステンションのQuarkusプラットフォームリリースオリジンを表示します。
quarkus ext ls の動作はコンテキストによって異なります。
Quarkus リリースのエクステンションの一覧表示
If you invoke the Quarkus CLI from outside of a project, Quarkus will list all the extensions available for the Quarkus release used by the CLI itself.
You can also list extensions for a specific release of Quarkus using -P or -S, as described in Specifying the Quarkus version.
This mode uses the --origins format by default.
Quarkus プロジェクトのエクステンションの一覧表示
When working with a Quarkus project, the CLI will list the extensions the current project has installed, using the --name format by default.
Use the --installable or -i option to list extensions that can be installed from the Quarkus platform the project is using.
You can narrow or filter the list using search (--search or -s).
quarkus ext list --concise -i -s jdbc
JDBC Driver - DB2 quarkus-jdbc-db2
JDBC Driver - PostgreSQL quarkus-jdbc-postgresql
JDBC Driver - H2 quarkus-jdbc-h2
JDBC Driver - MariaDB quarkus-jdbc-mariadb
JDBC Driver - Microsoft SQL Server quarkus-jdbc-mssql
JDBC Driver - MySQL quarkus-jdbc-mysql
JDBC Driver - Oracle quarkus-jdbc-oracle
JDBC Driver - Derby quarkus-jdbc-derby
Elytron Security JDBC quarkus-elytron-security-jdbc
Agroal - Database connection pool quarkus-agroal
プロジェクトのビルド
To build your project using the Quarkus CLI (using the default configuration in this example):
quarkus build
[INFO] Scanning for projects...
[INFO]
[INFO] ---------------------< org.acme:code-with-quarkus >---------------------
[INFO] Building code-with-quarkus 1.0.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
...
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 8.331 s
[INFO] Finished at: 2021-05-27T10:13:28-04:00
[INFO] ------------------------------------------------------------------------
| 出力は、プロジェクトが使用しているビルドツール(Maven、Gradle、またはJBang)によって異なります。 |
開発モード
quarkus dev --help
Quarkus CLI から dev モードを起動するには、以下を実行します。
quarkus dev
[INFO] Scanning for projects...
[INFO]
[INFO] ---------------------< org.acme:code-with-quarkus >---------------------
[INFO] Building code-with-quarkus 1.0.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
...
Listening for transport dt_socket at address: 5005
__ ____ __ _____ ___ __ ____ ______
--/ __ \/ / / / _ | / _ \/ //_/ / / / __/
-/ /_/ / /_/ / __ |/ , _/ ,< / /_/ /\ \
--\___\_\____/_/ |_/_/|_/_/|_|\____/___/
2021-05-27 10:15:56,032 INFO [io.quarkus] (Quarkus Main Thread) code-with-quarkus 1.0.0-SNAPSHOT on JVM (powered by Quarkus 999-SNAPSHOT) started in 1.387s. Listening on: http://localhost:8080
2021-05-27 10:15:56,035 INFO [io.quarkus] (Quarkus Main Thread) Profile dev activated. Live Coding activated.
2021-05-27 10:15:56,035 INFO [io.quarkus] (Quarkus Main Thread) Installed features: [cdi, resteasy-reactive, smallrye-context-propagation]
--
Tests paused, press [r] to resume
| 出力は、プロジェクトが使用しているビルドツール(Maven、Gradle、またはJBang)によって異なります。 |
|
Quarkus 1.xとの互換性
バージョン2のQuarkus CLIは、1.xのQuarkusプロジェクトやリリースでは使用できません。Quarkus 1.xプロジェクトで作業する場合は、Maven/Gradleプラグインを使用してください。 |
シェルのオートコンプリートとエイリアス
Automatic command completion is available for Bash and Zsh:
# Setup autocompletion in the current shell
source <(quarkus completion)
quarkusコマンドにエイリアスを使用する場合は、以下のコマンドでコマンド補完を調整します:
# Add an alias for the quarkus command
alias q=quarkus
# Add q to list of commands included in quarkus autocompletion
complete -F _complete_quarkus q