я создал класс: NumberHelper
Как Алиас методы в Groovy класс Категория
имеет метод: roll(num)
, и я хочу, чтобы псевдоним его, например, rollOnce
, так что я писал:
static def rollOnce = NumberHelper.&roll
И программа выдает исключение, когда я звоню rollOnce
. Как это сделать в хорошем состоянии?
Более подробно:
Во-первых, мы реализуем класс Номер для нашего собственного бизнеса, в Java
def userBuildScript = findScript(name) as Closure
use (NumberHelper, StringHelper, UserHelper){
// first make the user object
// then
userBuildScript.call(preBuildUser, businessNumberObject)
}
и мы написали класс категории для нашего класса Number, это выше NumberHelper.
и в сценарии сборки:
user(someRole) { user, number ->
it.someProperty = number.roll() // here, an exception throw
}
groovy.lang.MissingMethodException: No signature of method: xxx.xx.x.user.biz.Number,roll() is applicable for argument types
таковы информация достаточно, чтобы помочь мне найти причину?
И спасибо за ответ, спасибо :)
Можете ли вы добавить трассировку стека исключений. И исходный код тоже будет полезен. – aldrin
Где/как вы определяете 'rollOnce'? Если 'roll' является статическим, и вы удаляете ключевое слово' static' для 'rollOnce', оно отлично работает - нам нужно больше контекста. –