我試圖重構一個依賴於插件服務的服務。當服務實例聲明時,插件服務不包括
原來的服務工作正常,但當我提出了服務的部分並將它們放置到另一個類被稱爲由於某種原因,插件服務實例不被設置
原來的服務
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)
...
}
在運行時這樣做,我得到的MyClass的文件def methodVar = pluginService.pluginMethod()
線「不能空援引pluginMethod」。我將import PluginPackage.PluginService
添加到刪除空錯誤的類文件,但現在它給了我「不能調用null上的pluginMethodFromOtherPluginSerivceFromSamePlugin」錯誤。
當我將代碼移出服務並將其放入類文件時,是否忘記聲明一些內容?
我一直在尋找網絡,似乎無法找到解決這個問題的辦法。
任何幫助將不勝感激。
在項目的文件夾層次結構中存儲新類的位置? – uchamp
我在src/groovy/myPackage中存儲了類文件 –