2016-01-12 3 views
3

Попытка импортировать gpars withPool метод в мой проект. Импорт работает в groovyconsole, но не при строительстве в градле.Groovy не может решить класс, но работает в groovyconsole

Оба groovyconsole и Gradle работают заводной версия 2.4.5

Любые идеи?

Groovy консоли

import static groovyx.gpars.GParsPool.withPool 
withPool(2) { (1..5).collectParallel { println it.toString() } } 

Выход:

1 
3 
2 
4 
5 
Result: [null, null, null, null, null] 

Gradle compileGroovy

же шаг импорта, как указано выше:

import static groovyx.gpars.GParsPool.withPool 

Gradle выход:

:compileGroovystartup failed: 
C:\Programming\Projects\groovy\src\main\groovy\lib.groovy: 18: unable to resolve class groovyx.gpars.GParsPool 
@ line 18, column 1. 
    import static groovyx.gpars.GParsPool.withPool 
^

1 error 

FAILED 

ответ

1

Если вы хотите импортировать что-то в сценарии сборки, то вы должны предоставить его в качестве зависимости сборки сценария, для того, чтобы сделать Gradle знать, где найти его, так же, как :

buildscript {  
    repositories { 
     mavenCentral() 
     jcenter() 
    } 

    dependencies { 
     classpath group: 'org.codehaus.gpars', name: 'gpars', version: '1.1.0' 
    } 
} 

import static groovyx.gpars.GParsPool.withPool 
+0

Спасибо. Это исправить. Причина, по которой я не добавлял к зависимости, просто работает в groovyconsole из коробки? –

1

Если перейти к месту, где установлен заводной - может быть под $GROOVY_HOME и список папок вы увидите папку lib. Список содержимого папки lib показывает, что gpars-1.2.1.jar присутствует (groovy v2.4.5).

Всего эта баночка файл, расположенный в папке lib добавляются при заводных классах запускаются через groovysh или groovyConsole.

Однако этого не происходит, когда дело доходит до градиента, и поскольку @Stanislav ответил, что вам нужно добавить его в путь к классам вручную.