我通过grails create-app启动了grails应用程序。对于模块化,我觉得组件成为一个插件会更好。我可以将此应用程序转换为grails插件吗? 谢谢, 巴布。
答案 0 :(得分:5)
我从未根据之前编写的应用程序创建插件,但查看documentation for grails plugins您可以阅读以下语句:
Grails插件的结构与常规Grails项目的目录结构完全相同,只是在插件目录的根目录中你会发现一个名为“插件描述符”的插件Groovy文件。
因此我建议使用grails create-plugin *your-plugin-name*
创建一个新插件,并将应用程序中的所有文件复制到插件中。
答案 1 :(得分:1)
如果有其他人在寻找,这应该是您所需要的:http://burtbeckwith.com/blog/?p=1973
摘录:
因此,要将应用程序转换为插件,通用工作流程将会 像是
创建插件描述符FooGrailsPlugin.groovy。最简单的方法是使用rungrails create-plugin pluginname并复制 从那里生成文件
从application.properties中删除除app.grails.version属性之外的所有内容
如果你在lib目录中有maven回购中可用的jar,删除它们并用BuildConfig.groovy依赖项替换
- 导出
更改开发和测试所需的任何插件和jar依赖项,但不安装插件时不是 通过添加export = false
如果您需要_Install.groovy,_Uninstall.groovy或_Upgrade.groovy脚本(您可能不需要)从步骤1中的虚拟插件中获取这些脚本(但删除任何您不需要的脚本)一切都好 可选)
删除ApplicationResources.groovy如果您不使用它并且不依赖于资源插件
将代码从BootStrap.groovy init()移到toFooGrailsPlugin.doWithApplicationContext 和/或.FooGrailsPlugin.doWithDynamicMethods和destroy()到 FooGrailsPlugin.onShutdown,并删除BootStrap.groovy
在BuildConfig.groovy中添加发布插件的依赖项
- 删除除log4j配置之外的所有内容 除非您已导出映射,否则
从Config.groovy
删除UrlMappings.groovy;只保留添加的
将bean定义从resources.groovy移至FooGrailsPlugin.doWithSpring并删除resources.groovy
删除grails-app / i18n消息包文件,除非您添加了消息;只保留添加的
从您不使用的grails-app / views中删除所有内容(特别是error.gsp,index.gsp和layouts / main.gsp)
从您不使用的网络应用程序中删除所有内容(包括WEB-INF xml和tld文件)
现在是编写您一直想要的测试的好时机
创建一个或多个测试应用程序以安装插件,以确保它作为插件工作;考虑编写脚本
编写有关如何使用插件的文档;至少是README文件,但Grails gdoc文件要好得多(运行grails doc - 开始使用)