Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Groovy导入静态嵌套类_Groovy - Fatal编程技术网

Groovy导入静态嵌套类

Groovy导入静态嵌套类,groovy,Groovy,同一软件包中的以下两个类: 进口的。groovy class Imported { static class Inner { } } Main.groovy import Imported class Main { static main(args) { new Imported.Inner() } } 运行时: $ groovy Main.groovy org.codehaus.groovy.control.MultipleCompilationErrorsExc

同一软件包中的以下两个类:

进口的。groovy

class Imported {
  static class Inner {
  }
}
Main.groovy

import Imported

class Main {
  static main(args) {
    new Imported.Inner()
  }
}
运行时:

$ groovy Main.groovy
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
/tmp/Main.groovy: 5: unable to resolve class Imported.Inner
 @ line 5, column 5.
       new Imported.Inner()
       ^

1 error

发生这种情况的原因是什么?如何正确导入静态嵌套类?

只需编译
Imported.groovy
groovyc Imported.groovy
,就可以导入
Imported.class
Imported$Inner.class

然后只需调用
groovy Main.groovy
,它就可以工作了


如果您想拥有一些“导入/包含”功能,请选中并重试。

谢谢jalopaba。为什么这里需要编译?例如,
newimported()
无需编译即可工作。另外,当使用
groovysh
时,这也不是一个可行的解决方案。也许这是脚本编译过程中的一个bug,但我不确定。在groovy中,内部类通常是个问题。如果嵌套类已经编译好了?我正在使用第三方库。