如何从源代码安装Grails插件?

如何从源代码安装Grails插件?,grails,grails-plugin,Grails,Grails Plugin,我从一个朋友那里得到了这个插件的源代码,但仍然不知道如何将它安装到我的项目中。是的,有install-plugin命令,但不允许将该插件上载到根grails-plugin目录 如何从源代码安装grails插件 更新:该插件是为Grails1.1开发的,但我当前的项目是Grails1.3。它会导致任何问题吗?您可以将插件打包到zip中,然后从中安装 在包含插件源代码的根目录中打开命令提示符,运行grails-package-plugin,将grails\u-HOME设置为1.1 grails安装,

我从一个朋友那里得到了这个插件的源代码,但仍然不知道如何将它安装到我的项目中。是的,有install-plugin命令,但不允许将该插件上载到根grails-plugin目录

如何从源代码安装grails插件


更新:该插件是为Grails1.1开发的,但我当前的项目是Grails1.3。它会导致任何问题吗?

您可以将插件打包到zip中,然后从中安装

在包含插件源代码的根目录中打开命令提示符,运行
grails-package-plugin
,将grails\u-HOME设置为1.1 grails安装,并在路径中使用$grails\u-HOME/bin。这将创建一个zip文件,例如grails-myplugin-0.1.zip。要安装它,请在包含的应用程序中运行
grails install plugin/path/To/grails-myplugin-0.1.zip
(使用1.3)

在1.3应用程序中安装1.1插件可能不会有任何问题,但如果有问题,您可能需要升级,或者利用Groovy和Grails最新版本的功能

我升级插件或应用程序的过程在版本上有很大的差距,像这样,就是不要运行
grails upgrade
——这对于较小的版本增量是最好的,例如从1.3.1升级到1.3.5

相反,我建议在1.1中创建一个新的空插件。手动或使用目录差异工具,通过将当前插件与空插件进行差异,查找插件中所有已删除、添加和修改的文件。然后使用Grails1.3.x创建一个新的空插件。移动新文件,删除已删除的文件,并在已编辑的文件中进行相应的更改


编辑过的文件大部分都在grailsapp/conf下,因此您需要稍微小心一点,因为有些东西已经改变了。但一般来说,应用大部分或全部更改应该是安全的。

Burt的答案是好的,但另一个选择是简单地将所有插件文件复制到项目的子目录中并签入它们。然后,您可以将应用程序指向
BuildConfig.groovy
中的该插件目录:

grails.plugin.location.myplugin = 'myplugindir'
这样,如果您正在另一台机器上构建插件,或者清理
.grails
文件夹,您就不必再次安装插件

如果您想用自己的自定义更改(可能是为了本地bug修复)派生一个公共插件,此方法也很有用。

自从Grails 2.3以来,不再能够直接从文件系统安装插件。 这意味着:不再可能使用
grails安装插件
cmd

相反,您应该使用maven,如下所示:

  cd /to/path/root/of/myPlugin/ 
  grails maven-install 
现在转到:

   $HOME/.m2/repository/org/grails/plugins/
您将找到与插件同名的目录:

   $HOME/.m2/repository/org/grails/plugins/myPlugin
这意味着插件发布为maven存储库已成功执行

因此,转到主应用程序的BuildConfig并添加
plugins
closure:

compile ":myPlugin:0.1"

如果您的插件包含连字符,请将插件名称用引号括起来。示例:grails.plugin.location.'plugin-name-with-dashes'=“myplugindir”