我使用Grails 2.3.3创建了一个Grails插件,并尝试在Grails应用程序中使用该插件,该应用程序也是使用Grails 2.3.3创建的。现在,要在应用程序中使用插件,需要首先将其发布到插件存储库。因此,我尝试使用以下命令将插件发布到本地存储库:
grails clean
grails compile
grails maven-install
对于 grails maven-install 命令,我选择了 2)InstallPlugin 选项。但后来出现了错误:
Error installing plugin: No such property: ERROR_MESSAGE for class: Inst
allPlugin (Use --stacktrace to see the full trace)
使用选项--stacktrace和--verbose运行上面的最后一个命令,但没有得到任何关于问题可能是什么的线索。我还删除了%HOME%/。grails目录并重新执行上述命令,但仍然出现了相同的错误。
在谷歌搜索之后,我找到了一个关于这个问题的JIRA,该问题已经关闭,说明当Grails版本发生变化并且清理缓存文件将解决此问题时会发生这种情况。但是,这个解决方案对我不起作用,到现在为止,我花了几个小时试图解决这个问题。我也没有改变我的Grails版本。
有没有人在Grails 2.3.3或Grails的任何最新版本中遇到过这个问题?解决方案是什么?
答案 0 :(得分:1)
不要使用install-plugin
,在BuildConfig.groovy中添加依赖项。
我不知道2)InstallPlugin
"选项"是来自。 maven-install
脚本打包您的插件并生成POM文件,其他文件需要是有效的已发布插件。然后它将这些文件复制到本地M2目录,例如如果你的插件名称是" mycoolplugin"文件将复制到$HOME/.m2/repository/org/grails/plugins/mycoolplugin
现在你可以"安装"该插件就像它已在远程仓库中发布一样。使用通常的格式在应用程序的BuildConfig.groovy
中添加依赖项,例如
plugins {
build ":tomcat:7.0.50"
compile ":scaffolding:2.0.1"
runtime ":hibernate:3.6.10.7"
...
compile ":mycoolplugin:0.1"
}