grails - 如何正确使用Grails插件

标签 grails intellij-idea gradle grails-plugin

我们已经开发了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/

相关文章:

grails - 带来多对一的级联删除问题

grails - 如何告诉 IntelliJ IDEA 在 grails 应用程序中刷新我的类和资源?

grails - GORM映射 View

java - 无法解析 com.sun :tools:0 in Maven Project?

android - Firebase-perf 与 let 插件冲突

Grails 3.3.2 - gradlew bootRun 有效,但 grails run-app 和 grails-compile 无效

gradle - Liquibase Groovy Accessomg datebaseChangeLog属性

unit-testing - 测试执行前如何在Grails上修改域映射

java - IntelliJ 和 Google Web 工具包

java - Intellij 建议无效