【问题标题】:grails 3 project plugin source code?grails 3项目插件源代码?
【发布时间】:2017-02-20 20:15:32
【问题描述】:

在 grails 2 和更早的版本中,插件将其源代码安装到 .grails/<version>/projects/<projectName>/plugins/etc,这使得调试已安装的插件变得容易,而无需检查并加载完整的源代码......找出可能是热点的问题所在部署。无需安装本地运行插件。

在 grails 3 中,这似乎丢失了......或者我只是丢失了一些东西?我的项目中是否有地方可以直接修改插件源而无需检查插件,编译它然后在本地安装它?

【问题讨论】:

标签: grails grails-plugin grails3


【解决方案1】:

是的,你错过了一些相当重要的东西:)

Grails 2 插件以包含源代码的 ZIP 文件的形式分发,但 Grails 3+ 插件以 JAR 文件的形式分发,代码编译成类。与之前的方法相比,这有很多好处,最大的好处是您不能再直接编辑源代码(这是更改插件工作方式的最糟糕的方法)。

您应该做的(在所有版本的 Grails 中)是利用应用程序和已安装插件之间的编译/加载/解析顺序 - 先加载插件,然后加载应用程序。这允许您通过在应用程序代码中创建具有相同名称和相同相对位置的文件(Groovy/Java/GSP/等)来覆盖插件中的几乎所有内容,并且它将自动覆盖插件的文件或类。例如。要覆盖插件的 com.foo.BarController 控制器,请在您的应用中创建 grails-app/controllers/com/foo/BarController.groovy(手动或通过复制原始源并修改它)。

【讨论】:

  • 太棒了,我完全不知道这个选项。非常感谢!
  • 澄清一下,我们使用此方法仅用于在将代码滚动到插件源之前调试代码以解决问题,而不是作为覆盖插件功能的方法。
猜你喜欢
  • 1970-01-01
  • 2015-12-16
  • 1970-01-01
  • 2011-05-22
  • 1970-01-01
  • 2011-05-25
  • 1970-01-01
  • 2016-05-16
  • 2016-03-31
相关资源
最近更新 更多