创建插件
创建一个Grails插件,只需要运行如下命令即可:
grails create-plugin [PLUGIN NAME]
根据你输入的名字将产生一插件工程。
比如你输入 grails create-plugin example. 系统将创建一个名为 example的插件工程.
除了插件的根目录有一个所谓的“插件描述”的Groovy文件外,其他的跟一般的Grails工程结构完全一样.
将插件作为一个常规的Grails工程是有好处的,比如你可以马上用以下命令来测试你的插件:grails run-app
由于你创建插件默认是没有 URL 映射的,因此控制器并不会马上有效。
如果你的插件需要控制器,那要创建 grails-app/conf/MyUrlMappings.groovy 文件,并且在起始位置增加缺省的映射 “/$controller/$action?/$id?”()。
插件描述文件本身需要符合以 GrailsPlugin 结尾的惯例并且将位于插件工程的根目录中。
比如:class ExampleGrailsPlugin {
def version = 0.1
…
}
所有插件的根目录下边都必须有此类并且还要有效,此类中定义了插件的版本和其他各式各样的可选的插件扩展点的钩子(hooks)–即插件预留的可以扩展的接口。
通过以下特殊的属性,你还可以提供插件的一些额外的信息:
• title - 用一句话来简单描述你的插件
• author - 插件的作者
• authorEmail - 插件作者的电子邮箱
• description - 插件的完整特性描述
• documentation - 插件文档的URL
以 Quartz Grails plugin 为例:class QuartzGrailsPlugin {
def version = "0.1"
def author = "Sergey Nebolsin"
def authorEmail = "[email protected]"
def title = "This plugin adds Quartz job scheduling features to Grails application."
def description = '''
Quartz plugin allows your Grails application to schedule jobs to be
executed using a specified interval or cron expression. The underlying
system uses the Quartz Enterprise Job Scheduler configured via Spring,
but is made simpler by the coding by convention paradigm.
'''
def documentation = "http://grails.org/Quartz+plugin"
…
}