我正在尝试重构依赖于插件服务的服务。
原始服务工作正常,但是当我移出部分服务并将它们放入另一个类中以因某种原因被调用时,插件服务实例未设置
原始服务
package myPackage
class MyService {
def pluginService
def myMethod(args){
def methodVar = pluginService.pluginMethod()
// Do stuff with methodVar
return methodVar
}
...
def myVar = myMethod(args)
...
}
我将这些方法移到了我的 Groovy 类中,这样我就可以在服务中引用它并分解我拥有的整体文件
新的类文件
package myPackage
class MyClass {
def pluginService
def myMethod(args){
def methodVar = pluginService.pluginMethod()
// Do stuff with methodVar
return methodVar
}
}
修改服务
package myPackage
class MyService {
def myClass
...
def myVar = myClass.myMethod(args)
...
}
def methodVar = pluginService.pluginMethod()
通过在运行时执行此操作,我在 MyClass 文件的行中得到“无法在 null 上调用 pluginMethod” 。我添加import PluginPackage.PluginService
到删除空错误的类文件中,但现在它给了我“无法在空时调用 pluginMethodFromOtherPluginSerivceFromSamePlugin”错误。
当我将代码移出服务并将其放入类文件时,我是否忘记声明某些内容?
我一直在网上搜索,似乎找不到任何解决此问题的方法。
任何帮助将不胜感激。