(快速参考)

create-plugin

描述

create-plugin 命令用于创建 Grails 插件项目。Grails 插件项目类似于应用程序项目,但包含插件描述符,并且可以打包为插件,以便安装到其他 Grails 应用程序中。

插件不仅对插件开发人员有价值,而且还可以作为模块化大型 Grails 应用程序的手段。它们允许您封装功能,并在不同的项目中轻松地重复使用它。要详细了解针对 Grails 开发插件,请参阅 Grails 用户指南中的关于 插件开发 的章节。

用法

要创建 Grails 插件,请使用以下命令

grails create-plugin [OPTIONS] NAME
  • 名称:Grails 插件所需的名称。

选项包括指定功能、配置 GORM 实现、选择 Servlet 实现、选择测试框架、设置 JDK 版本等。利用这些选项,可以根据特定的要求定制 Grails 插件。

选项

以下是 create-plugin 命令的可用选项

  • -f, --features=特征[,特征……​]:指定要包含在插件中的特征。可用的选项包括 h2、gorm-hibernate5、spring-boot-starter-jetty、springloaded、micronaut-http-client、cache-ehcache、hibernate-validator、postgres、mysql、cache、database-migration、grails-gsp、hamcrest、gorm-mongodb、assertj、mockito、spring-boot-starter-undertow、micronaut-inject-groovy、github-workflow-java-ci、jrebel、testcontainers、sqlserver、grails-console、views-markup、views-json、gorm-neo4j、asciidoctor、embedded-mongodb、grails-web-console、logbackGroovy、mongo-sync、shade、properties。

  • -g, --gorm=GORM 实施:指定为插件配置的 GORM 实施。可能的值有 hibernate、mongodb、neo4j。

  • -h, --help:显示帮助消息并退出。

  • -i, --inplace:在当前目录中创建服务。

  • --jdk=<javaVersion>: 指定项目应定位的 JDK 版本。

  • -s, --servlet=Servlet 实现: 指定要为插件配置的 Servlet 实现。可能的值为 none、tomcat、jetty、undertow。

  • -t, --test=TEST: 指定要为插件使用的测试框架。可能的值为 junit、spock。

示例

创建具有特定功能名位 “example-plugin” 的 Grails 插件

grails create-plugin example-plugin --features h2,gorm-hibernate5,asciidoctor

此命令将生成一个名为 “example-plugin” 的 Grails 插件项目,该项目具有指定的功能,使其可以准备就绪,进行开发并集成到其他 Grails 应用程序中。

以下是 create-plugin 命令的其他示例

  1. 创建最小的 Grails 插件

    grails create-plugin minimal-plugin

    此命令将创建一个名为 “minimal-plugin” 的 Grails 插件项目,该项目具有默认设置,适用于从头开始一个新的插件项目。

  2. 使用 MongoDB 支持创建插件

    grails create-plugin mongodb-plugin --gorm=mongodb

    此命令将生成一个名为 “mongodb-plugin” 的 Grails 插件项目,该项目配置为使用 MongoDB 作为 GORM 实现。

  3. 创建嵌入式 H2 数据库和视图支持的插件

    grails create-plugin h2-views-plugin --features h2,views-markup

    此命令将创建一个名为 “h2-views-plugin” 的 Grails 插件项目,该项目启用了 H2 数据库和视图标记功能,使其适用于需要嵌入式数据库和视图呈现功能的项目。

这些附加示例展示了 create-plugin 命令的不同用例,例如创建最小的插件、自定义 GORM 实现,以及启用特定功能以满足项目要求。