Grails版本:3.0.7
Groovy版本:2.4.4
JVM版本:1.8.0_51
我必须在这里找到一些非常简单的东西。
我已经按照自述文件中的定义为我的项目添加了一个grails插件:
compile 'org.grails.plugins:geocode:0.3'
我可以看到相关的依赖关系已从存储库中删除。
但是,尝试使用以下命令在我的控制器中注入服务时:
def geocodingService
执行时收到以下错误:
引起:java.lang.NullPointerException:无法在null对象上调用方法getPoint()
相关的代码行是:
Point location = geocodingService.getPoint('XXX XXX, UK')
我的猜测是依赖注射失败了,但有人可以告诉我我犯的错误吗?
答案 0 :(得分:1)
注意:从另一个几乎相同的问题复制我的答案......
好吧,这似乎是我愚蠢地试图在grails 3.x插件中使用grails 2.x插件。
在grails文档中详细介绍了将插件从2.x升级到3.x的各种步骤。
我的直接解决方案是简单地创建一个新服务并将插件中的代码复制到我的应用程序中。工作得很好。
Grails 3.x插件:https://bintray.com/grails/plugins Grails 2.x插件:https://grails.org/plugins/
除非您通过grails网站导航,否则不明显。如果您从Google直接进入插件页面,则兼容性显示为2.5.x>
然而,这实际上似乎意味着大于2.5.x但小于3.x
希望这有助于其他人遇到此事。