在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
。仍然无法解决。
答案 0 :(得分:21)
这对我有用
grails.plugin.location.shiro = "/home/dilbert/dev/plugins/grails-shiro"
其中shiro
是插件的名称(不是它所在目录的名称)。确保插件的路径是绝对路径或应用程序中插件的相对路径。
我发现如果插件列在application.properties
或BuildConfig.groovy
中,这有时不起作用,如果是,请删除它,然后执行grails clean
并重新启动应用
答案 1 :(得分:8)
您也可以将插件安装到本地maven缓存中。
文档说明了这一点:
3.7.10 Deploying to a Maven Repository
maven-install
maven-install命令会将Grails项目或插件工件安装到本地Maven缓存中:
grails maven-install
这样做的好处是允许您使用更常见的":plugin-name:version"
语法
这使您的应用程序可以确定在生产中检索插件的最佳位置。来自内部的maven-repo或同等物。
答案 2 :(得分: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')
你已经完成了。
查看plugins documentation了解更多信息。
答案 3 :(得分:2)
如果插件名称包含短划线,请使用引号括起插件名称:
grails.plugin.location.'plugin-name-with-dashes' = "<path>"
答案 4 :(得分: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