我们已经开发了grails应用程序以及许多grails插件。这些grails插件作为jar包含在主应用程序中。
现在,在这种方法中我们面临许多问题。
问题1:
每当我们需要在插件中进行更改时,我们都必须转到插件项目,然后对其进行编译,发布,然后在主应用程序中升级jar版本。当我们有多个项目时,此过程非常繁琐。
我们正在使用intellij进行开发,我们能做些什么,就是将我们的项目与我们的插件一起打开,然后测试所有内容而无需发布单个插件。当测试完成后,gradle构建会自动发布这些插件jar
问题2 ==>(与问题1相关)
我们有一个grails 3.0.10应用程序,我们正在尝试将其升级到3.1.11版本。在我们的应用程序中,我们使用了许多grails插件,它们也是用grails 3.0.10编写的。当我们试图将主应用程序升级到3.1.11时,它会在插件中引发一些错误。
解决此问题的一种方法是遍历每个插件,并在grails 3.1.11中对其进行编译。但是我们想知道是否还有其他可用的选项,这样我只需要更新我的主应用程序即可。
最佳答案
Grails确实支持嵌入式插件。
这意味着,您的磁盘上有一些Grails插件的源,同时还有Grails应用程序。
假设您的自定义插件的名称是“my-test-plugin”,则将类似以下内容放置在应用程序的BuildConfig.groovy(文件结构的顶层)中:
grails.plugin.location.'my-test-plugin' = '../custom_plugins/my-test-plugin'
当然,请禁用固定版本的插件依赖性。
这样,您可以临时调整buildconfig(在您积极使用插件的同时)并在发布新版本的插件后将其还原。
或者,您可以像这样保留它,但是在那种情况下,您应该找到每个团队成员都必须使用的路径约定(或者每个人都必须在buildconfig中调整相对/绝对路径,并且不应该这样做)
希望能有所帮助
编辑:我的答案仅适用于Grails 1.x和2.x
对于Grails 3嵌入式插件,请参见Adding in-place plugin to grails 3 project
关于grails - 如何正确使用Grails插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39404100/