我无法在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)
答案 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也解决了这个问题。