繁体   English   中英

Groovy无法解析类但在groovyconsole中工作

[英]Groovy unable to resolve class but works in groovyconsole

尝试将gpars withPool方法导入到我的项目中。 导入在groovyconsole中工作,但在gradle中构建时不起作用。

groovyconsole和gradle都运行groovy版本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

如果您希望将某些内容导入构建脚本,那么您必须将其作为构建脚本依赖项提供,以便让Gradle知道,在哪里找到它,就像:

buildscript {    
    repositories {
        mavenCentral()
        jcenter()
    }

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

import static groovyx.gpars.GParsPool.withPool

如果您导航到安装了groovy的位置 - 可能在$GROOVY_HOME并列出您将注意到lib文件夹的文件夹。 列出lib文件夹的内容显示gpars-1.2.1.jar存在于那里(groovy v2.4.5)。

当通过groovyshgroovyConsole启动groovy时,位于lib文件夹中的所有这些jar文件都会添加到类路径中。

然而,当涉及到gradle并且@Stanislav回答你需要手动将它添加到类路径时,这不会发生。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM