Нет сигнатуры метода: *** применимо для типов аргументов: () values: [] Возможные решения: getRandomShippingMethod () - PullRequest
0 голосов

Я хочу написать скрипт на скрипте groovy, но у меня есть исключение:

Caught: groovy.lang.MissingMethodException: No signature of method: ru.evgeny.in.order.bob.util.dbutil.DBStandaloneFullXMLUtil.randomShippingMethod() is applicable for argument types: () values: []
Possible solutions: getRandomShippingMethod()
groovy.lang.MissingMethodException: No signature of method: ru.evgeny.in.order.bob.util.dbutil.DBStandaloneFullXMLUtil.randomShippingMethod() is applicable for argument types: () values: []
Possible solutions: getRandomShippingMethod()
    at Draft.run(Draft.groovy:6)

мой скрипт groovy:

    import ru.evgeny.in.order.bob.util.dbutil.DBStandaloneFullXMLUtil

    def db = new DBStandaloneFullXMLUtil()

    println db.getRandomSKU()
    println db.randomShippingMethod()

DBStandaloneFullXMLUtil:

class DBStandaloneFullXMLUtil implements IDBUtil {
....
    @Override
    def getRandomSKU() {
        def rows = 'id, item_nr'
        def table = '(select * from mywms_itemdata where dtype = \'LMItemData\') as LMItemData'
        getRandomeRow(rows, table).values()
    }

    @Override
    def getRandomShippingMethod(){
        def rows = 'id, name'
        def table = 'lm_shipping_method'
        getRandomeRow(rows, table).values()
    }
}

Почему я получаю это исключение ???Почему нет исключения на

println db.getRandomSKU()

1 Ответ

0 голосов
/ 08 мая 2019

Проблема в том, что в вашем классе есть два метода доступа: getRandomSKU и getRandomShippingMethod, но вы вызываете их двумя разными способами:

println db.getRandomSKU()
println db.randomShippingMethod()

Вы должны изменить вышеупомянутое значение на:

println db.randomSKU
println db.randomShippingMethod

(который косвенно вызывает ваши методы доступа), или вы можете использовать:

println db.getRandomSKU()
println db.getRandomShippingMethod()

(который напрямую вызывает эти методы)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...