創(chuàng)建項目是 CLI 的主要用法。創(chuàng)建新項目的主要命令是 create-app,它創(chuàng)建一個通過 HTTP 進行通信的標準服務器應用程序。對于其他類型的應用程序,請參閱下面的文檔。
命令 | 描述 | 選項 | 示例 |
---|---|---|---|
|
創(chuàng)建一個基本的 Micronaut 應用程序。 |
|
|
|
創(chuàng)建命令行 Micronaut 應用程序。 |
|
|
|
創(chuàng)建一個 Micronaut 無服務器函數(shù),默認使用 AWS。 |
|
|
|
創(chuàng)建一個僅通過消息傳遞協(xié)議進行通信的 Micronaut 應用程序。默認使用 Kafka,但可以使用 --features rabbitmq 切換到 RabbitMQ。 |
|
|
|
創(chuàng)建一個使用 gRPC 的 Micronaut 應用程序。 |
|
|
創(chuàng)建命令標志
create-* 命令生成一個基本的 Micronaut 項目,帶有用于指定功能、語言、測試框架和構(gòu)建工具的可選標志。除函數(shù)外的所有項目都包含一個用于啟動應用程序的默認應用程序類。
Flag | 描述 | 示例 |
---|---|---|
|
項目使用的語言(java、groovy、kotlin 之一——默認為 java) |
|
|
用于項目的測試框架(junit、spock 之一——默認為 junit) |
|
|
構(gòu)建工具(gradle、gradle_kotlin、maven 之一——java 和 groovy 語言默認為 gradle;kotlin 語言默認為 gradle_kotlin) |
|
|
用于項目的功能,以逗號分隔 |
或
|
|
如果存在,則在當前目錄中生成項目(如果設置了此標志,則項目名稱是可選的) |
|
創(chuàng)建后,可以使用 Application 類或適當?shù)臉?gòu)建工具任務啟動應用程序。
啟動 Gradle 項目
$ ./gradlew run
啟動 Maven 項目
$ ./mvnw mn:run
語言/測試功能
默認情況下,創(chuàng)建命令會生成一個 Java 應用程序,并將 JUnit 配置為測試框架。所有選擇的選項和應用的功能都作為屬性存儲在 micronaut-cli.yml 文件中,如下所示:
micronaut-cli.yml
applicationType: default
defaultPackage: com.example
testFramework: junit
sourceLanguage: java
buildTool: gradle
features: [annotation-api, app-name, application, gradle, http-client, java, junit, logback, netty-server, shade, yaml]
某些命令依賴于此文件中的數(shù)據(jù)來確定它們是否應該可執(zhí)行。例如,create-kafka-listener 命令要求 kafka 是列表中的功能之一。
CLI 使用 micronaut-cli.yml 中的值來生成代碼。生成項目后,您可以編輯這些值以更改項目默認值,但是您必須提供所需的依賴項和/或配置才能使用您選擇的語言/框架。例如,您可以將 testFramework 屬性更改為 spock 以使 CLI 在運行命令(例如 create-controller)時生成 Spock 測試,但您需要將 Spock 依賴項添加到您的構(gòu)建中。
要創(chuàng)建支持 Groovy 的應用程序(默認使用 Spock),請通過 lang 標志提供適當?shù)恼Z言:
$ mn create-app my-groovy-app --lang groovy
這包括項目中的 Groovy 和 Spock 依賴項,并在 micronaut-cli.yml 中寫入適當?shù)闹怠?/p>
要創(chuàng)建支持 Kotlin 的應用程序(默認使用 Kotest),請通過 lang 標志提供適當?shù)恼Z言:
$ mn create-app my-kotlin-app --lang kotlin
這包括項目中的 Kotlin 和 Kotest 依賴項,并在 micronaut-cli.yml 中寫入適當?shù)闹怠?/p>
默認情況下,create-app 創(chuàng)建一個 Gradle 項目,在項目根目錄中有一個 build.gradle 文件。要使用 Maven 構(gòu)建工具創(chuàng)建應用程序,請通過構(gòu)建標志提供適當?shù)倪x項:
$ mn create-app my-maven-app --build maven
create-cli-app 命令生成一個 Micronaut 命令行應用程序項目,帶有指定語言、測試框架、特性、配置文件和構(gòu)建工具的可選標志。默認情況下,該項目包含 picocli 功能以支持命令行選項解析。該項目將包含一個 *Command 類(基于項目名稱,例如 hello-world 生成 HelloWorldCommand),以及一個關(guān)聯(lián)的測試,該測試實例化命令并驗證它是否可以解析命令行選項。
創(chuàng)建后,可以使用 *Command 類或適當?shù)臉?gòu)建工具任務啟動應用程序。
啟動 Gradle 項目
$ ./gradlew run
啟動 Maven 項目
$ ./mvnw mn:run
創(chuàng)建函數(shù)應用
create-function-app 命令生成一個 Micronaut 函數(shù)項目,該項目針對無服務器環(huán)境進行了優(yōu)化,帶有用于指定語言、測試框架、功能和構(gòu)建工具的可選標志。該項目將包括一個 *Function 類(基于項目名稱,例如 hello-world 生成 HelloWorldFunction),以及一個關(guān)聯(lián)的測試,該測試實例化該函數(shù)并驗證它是否可以接收請求。
目前,AWS Lambda、Micronaut Azure 和 Google Cloud 是支持 Micronaut 功能的云提供商。要使用其他提供程序,請在功能中添加一個:--features azure-function 或--features google-cloud-function。
CLI 源代碼位于 https://github.com/micronaut-projects/micronaut-starter。那里有關(guān)于如何貢獻和其他資源的信息。
比較版本
查看新版本 Micronaut 的版本依賴更新和其他更改的最簡單方法是使用舊版本生成一個干凈的應用程序,使用新版本的 mn CLI 生成另一個應用程序,然后比較這些目錄。
更多建議: