如何在Grails2.0中运行本地插件?

如何在Grails2.0中运行本地插件?,grails,groovy,grails-plugin,grails-2.0,Grails,Groovy,Grails Plugin,Grails 2.0,在Grails中,有一个变体如何包含来自源代码的本地插件。根据文档,可以键入BuildConfig.groovy: // Useful to test plugins you are developing. grails.plugin.location.shiro = "/home/dilbert/dev/plugins/grails-shiro" // Useful for modular applications where all plugins and // appli

在Grails中,有一个变体如何包含来自源代码的本地插件。根据文档,可以键入
BuildConfig.groovy

// Useful to test plugins you are developing.
grails.plugin.location.shiro =
        "/home/dilbert/dev/plugins/grails-shiro"

// Useful for modular applications where all plugins and
// applications are in the same directory.
grails.plugin.location.'grails-ui' = "../grails-grails-ui"
问题是它在Grails2.0.RC1中不起作用。我尝试了
grails clean
,用
grails install plugin
安装插件,并将其放置到
BuildConfig.groovy
。仍然无法解决。

这对我很有效

grails.plugin.location.shiro = "/home/dilbert/dev/plugins/grails-shiro"
其中
shiro
是插件的名称(而不是它所在目录的名称)。确保插件的路径是应用程序中插件的绝对路径或相对路径


我发现,如果插件在
application.properties
BuildConfig.groovy
中列出,则有时不起作用,因此如果是,请将其删除,然后执行
grails clean
并重新启动应用程序。

您可以在/lib中添加插件的.zip文件,然后将其安装

例如:

compile ":myPlugin:1.0"
文件:

/lib/myPlugin-1.0.zip
注意:您必须压缩插件文件夹的内容


来源:

您还可以将插件安装到本地maven缓存中

文件中提到了这一点:

maven install命令将Grails项目或插件工件安装到本地maven缓存中:

grailsmaven安装

这样做的好处是允许您使用更常见的
“:plugin name:version”
语法将插件包含在父应用程序中


这允许您的应用程序在生产时确定检索插件的最佳位置。来自内部maven repo或等效文件。

如果插件名称包含破折号,请在其周围加引号:

grails.plugin.location.'plugin-name-with-dashes' = "<path>"
grails.plugin.location.'plugin-name-with-dashes'=“”

对于Grails 3.x,还有另一种方法可以做到这一点。假设您在同一项目目录中有一个grails应用程序和插件(源代码):

/my-project
---/my-app
---/grails-shiro
要运行本地插件,必须在
my project
目录中创建
settings.gradle
文件,指定应用程序和插件的位置:

 include 'my-app', 'grails-shiro'
然后在应用程序的build.gradle中添加依赖项:

 compile project(':grails-shiro')
你完成了


查看以了解更多信息。

您会遇到什么错误?我刚刚用2.0RC1尝试了
BuildConfig
route,它似乎工作得很好。。。你在做一件或另一件事,不是吗?不是同时将grails安装插件放入
BuildConfig.groovy
中吗?那太简单了。有了这条
grails.plugin.location.*
行,您根本不应该安装插件。只需在
BuildConfig.groovy
中键入此lint,然后执行
grails run app
!我正在尝试安装插件或同时将其放入BuildConfig DSL:)谢谢@tim_Yatest这是无效的,因为每次更新完成后,您都必须压缩并替换文件。忘记这一步,你会发现一些非常令人困惑的问题。这个方法通过添加到buildConfig.groovy中对我有效+1致@andruso,以获取他对破折号的评论。如果您的插件包含连字符,请将插件名称用引号括起来。示例:grails.plugin.location.“plugin-name-with-dashes”=“”
 compile project(':grails-shiro')