阅读(886) (0)

Micronaut 命令

2023-02-23 13:57:34 更新

您可以使用帮助标志查看可用命令的完整列表,例如:

$ mn -h
Usage: mn [-hvVx] [COMMAND]
Micronaut CLI command line interface for generating projects and services.
Application generation commands are: (1)

*  create-app NAME
*  create-cli-app NAME
*  create-function-app NAME
*  create-grpc-app NAME
*  create-messaging-app NAME

Options:
  -h, --help         Show this help message and exit.
  -v, --verbose      Create verbose output.
  -V, --version      Print version information and exit.
  -x, --stacktrace   Show full stack trace when exceptions occur.

Commands: (2)
  create-app               Creates an application
  create-cli-app           Creates a CLI application
  create-function-app      Creates a Cloud Function
  create-grpc-app          Creates a gRPC application
  create-messaging-app     Creates a messaging application
  create-job               Creates a job with scheduled method
  create-bean              Creates a singleton bean
  create-websocket-client  Creates a Websocket client
  create-client            Creates a client interface
  create-controller        Creates a controller and associated test
  feature-diff             Produces the diff of an original project with an original project with
                             additional features.
  create-websocket-server  Creates a Websocket server
  create-test              Creates a simple test for the project's testing framework
  1. 在这里你可以看到项目生成命令列表

  2. 当前目录中可用的所有命令都列在这里

  3. 注意:项目创建命令(始终可用)后列出的内容取决于当前目录上下文

所有代码生成命令都遵循 micronaut-cli.yml 中写入的值。例如,假设有以下 micronaut-cli.yml 文件。

micronaut-cli.yml

defaultPackage: example
---
testFramework: spock
sourceLanguage: java

通过上述设置,create-bean 命令(默认情况下)在示例包中生成一个带有关联 Spock 测试的 Java 类。命令接受参数,并且可以在每个命令的基础上覆盖这些默认值。

基本命令

这些命令在 micronaut 项目的上下文中始终可用。

Create-Bean

表 1. Create-Bean Flags
Flag 描述 示例

-l--lang

bean 类使用的语言

--lang groovy

-f--force

是否覆盖已有文件

--force

create-bean 命令生成一个简单的 Singleton 类。它不会创建关联的测试。

$ mn create-bean EmailService
| Rendered template Bean.java to destination src/main/java/example/EmailService.java

Create-Job

表 2. Create-Job Flags
Flag 描述 示例

-l--lang

工作类别使用的语言

--lang groovy

-f--force

是否覆盖已有文件

--force

create-job 命令生成一个简单的 Scheduled 类。它遵循 *Job 约定来生成类名。它不会创建关联的测试。

$ mn create-job UpdateFeeds --lang groovy
| Rendered template Job.groovy to destination src/main/groovy/example/UpdateFeedsJob.groovy

HTTP 相关命令

Create-Controller

表 3. Create-Controller Flags
Flag 描述 示例

-l--lang

控制器使用的语言

--lang groovy

-f--force

是否覆盖已有文件

--force

create-controller 命令生成一个 Controller 类。它遵循 *Controller 约定来生成类名。它创建一个关联的测试来运行应用程序并实例化一个 HTTP 客户端,它可以向控制器发出请求。

$ mn create-controller Book
| Rendered template Controller.java to destination src/main/java/example/BookController.java
| Rendered template ControllerTest.java to destination src/test/java/example/BookControllerTest.java

Create-Client

表 4. Create-Client Flags
Flag 描述 示例

-l--lang

客户端使用的语言

--lang groovy

-f--force

是否覆盖已有文件

--force

create-client 命令生成一个简单的客户端界面。它遵循 *Client 约定来生成类名。它不会创建关联的测试。

$ mn create-client Book
| Rendered template Client.java to destination src/main/java/example/BookClient.java

Create-Websocket-Server

表 5. Create-Websocket-Server Flags
Flag 描述 示例

-l--lang

服务器使用的语言

--lang groovy

-f--force

是否覆盖已有文件

--force

create-websocket-server 命令生成一个简单的 ServerWebSocket 类。它遵循 *Server 约定来生成类名。它不会创建关联的测试。

$ mn create-websocket-server MyChat
| Rendered template WebsocketServer.java to destination src/main/java/example/MyChatServer.java

Create-Websocket-Client

表 6. Create-Websocket-Client Flags
Flag 描述 示例

-l--lang

客户端使用的语言

--lang groovy

-f--force

是否覆盖已有文件

--force

create-websocket-client 命令生成一个简单的 WebSocketClient 抽象类。它遵循 *Client 约定来生成类名。它不会创建关联的测试。

$ mn create-websocket-client MyChat
| Rendered template WebsocketClient.java to destination src/main/java/example/MyChatClient.java

CLI 项目命令

Create-Command

表 7. Create-Command Flags
Flag 描述 示例

-l--lang

命令使用的语言

--lang groovy

-f--force

是否覆盖已有文件

--force

create-command 命令生成一个独立的应用程序,可以作为 picocli 命令执行。它遵循生成类名的 *Command 约定。它创建一个关联的测试来运行应用程序并验证是否设置了命令行选项。

$ mn create-command print
| Rendered template Command.java to destination src/main/java/example/PrintCommand.java
| Rendered template CommandTest.java to destination src/test/java/example/PrintCommandTest.java

此列表只是 Micronaut CLI 中代码生成命令的一小部分。要查看 CLI 可用的所有上下文相关命令(以及它们在什么情况下适用),请查看 micronaut-starter 项目并找到扩展 CodeGenCommand 的类。 applys 方法指示命令是否可用。