Groovy (GPars) и MissingMethodException при вызове eachParallel()

Когда я запускаю следующий код в консоли (groovy 2.1.3):

strings =  [ "butter", "bread", "dragon", "table" ]
strings.eachParallel{println "$it0"}

Я получил:

groovy.lang.MissingMethodException: No signature of method: java.util.ArrayList.eachParallel() is applicable for argument types: (ConsoleScript40$_run_closure1) values: [ConsoleScript40$_run_closure1@a826f5]

Кто-нибудь может сказать мне, что я делаю неправильно?


person Armin    schedule 04.06.2013    source источник


Ответы (1)


Я думаю, что вам не хватает настройки. Пытаться

@Grab(group='org.codehaus.gpars', module='gpars', version='1.0.0')
import groovyx.gpars.GParsPool

GParsPool.withPool {
    def strings =  [ "butter", "bread", "dragon", "table" ]
    strings.eachParallel { println it }
}
person Michael Rutherfurd    schedule 05.06.2013
comment
Спасибо за это, Майкл. Вы поставили меня на правильный путь, хотя я не смог запустить Grab, так как я пользуюсь прокси. Глядя на ваш ответ, мне удалось выяснить, что для зависимости gpars в файле pom.xml grooyy-all установлено значение option=true. И это приводит к тому, что зависимость gpar не включается по умолчанию. Таким образом, явное добавление зависимости gpar к моему pom решило эту проблему для меня. - person Armin; 05.06.2013