将grails app转换为插件

时间:2010-04-05 20:50:09

标签: grails plugins

我通过grails create-app启动了grails应用程序。对于模块化,我觉得组件成为一个插件会更好。我可以将此应用程序转换为grails插件吗? 谢谢, 巴布。

2 个答案:

答案 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中添加发布插件的依赖项

  •   
  • 从Config.groovy

  • 删除除log4j配置之外的所有内容   除非您已导出映射,否则
  • 删除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    - 开始使用)

  •