2013-06-04 23 views
5

Wenn ich den folgenden Code in der Konsole (groovy 2.1.3) laufen:Groovy (GPars) und Missing beim Aufruf eachParallel()

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

ich:

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

Jeder kann sagen, Was mache ich falsch?

Antwort

8

Ich denke, Sie fehlen die Einrichtung. Versuchen Sie

@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 } 
} 
+0

Bearbeitet im Fall, die Abhängigkeit ist noch nicht gelöst. – dmahapatro

+0

Danke dafür Michael. Sie haben mich sogar auf den richtigen Weg gebracht - obwohl ich nicht in der Lage war, den Grab zu laufen, da ich hinter einem Stellvertreter stehe. Wenn ich deine Antwort ansehe, habe ich herausgefunden, dass die Abhängigkeit von gpars in groomy-alls pom.xml auf optional = true gesetzt ist. Dies führt dazu, dass die gpar-Abhängigkeit standardmäßig nicht enthalten ist. Das Hinzufügen der Gpar-Abhängigkeit explizit zu meinem Pom hat dieses Problem für mich behoben. – Armin