静态导入在Groovy 1.7.4中不起作用?

时间:2010-08-31 07:05:44

标签: groovy

我无法在Groovy中使用静态导入。这应该有效吗?

(我在Windows上运行Groovy 1.7.4)

Constants.groovy:

package foo

class Constants {
    static final PI = 3.14
}

Test.groovy:

package foo
import static foo.Constants.PI

class Test {
    static main(args) {
        println("pi=" + PI)
    }
}

编辑:两个文件都存储在同一目录“foo”中。

当我尝试运行时,我得到:

groovy -cp . foo\Test.groovy
Caught: groovy.lang.MissingPropertyException: No such property: PI for class: foo.Test
        at foo.Test.main(Test.groovy:6)

2 个答案:

答案 0 :(得分:1)

此问题已报告为问题[Groovy-4386],现已在Groovy 1.7.6中修复

答案 1 :(得分:0)

这是groovy依赖解析的问题。您可以通过强制它首先编译Constants.groovy来解决它,如下所示:

groovyc foo/Constants.groovy
groovy foo/Test.groovy

编辑:将groovy降级到版本1.7.3也解决了这个问题。