18

在 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"

问题是它在 Grails 2.0.RC1 中不起作用。我已经尝试过grails clean安装插件grails install-plugin并将其放置到BuildConfig.groovy. 仍然无法解决。

4

5 回答 5

22

这对我有用

grails.plugin.location.shiro = "/home/dilbert/dev/plugins/grails-shiro"

插件的名称在哪里shiro(不是它所在目录的名称)。确保插件的路径是绝对路径或来自应用程序的插件的相对路径。

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

于 2011-11-16T14:02:53.927 回答
8

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

该文档谈到了这一点:

3.7.10 部署到 Maven 存储库

maven-install

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

grails maven-install

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

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

于 2014-02-12T02:05:00.400 回答
3

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

/my-project
---/my-app
---/grails-shiro

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

 include 'my-app', 'grails-shiro'

然后在应用程序的 build.gradle 中添加依赖项:

 compile project(':grails-shiro')

你已经完成了。

查看插件文档以获取更多信息。

于 2015-09-13T08:56:12.290 回答
2

用引号将插件名称括起来,以防它包含破折号:

grails.plugin.location.'plugin-name-with-dashes' = "<path>"
于 2015-02-05T15:28:54.900 回答
0

您可以在 /lib 中添加插件的 .zip 文件,它将被安装。

例子:

compile ":myPlugin:1.0"

文件:

/lib/myPlugin-1.0.zip

注意:您必须压缩插件文件夹的内容。

来源: http: //grails.1312388.n4.nabble.com/Insert-own-local-plugin-into-build-config-td4646704.html

于 2014-02-12T01:03:58.690 回答