我有一个包含多个groovy文件的项目,我想把几个“小”类放在一个文件中。
基本上,这就是我想要的:
Foo.groovy:
class Foo
{
Foo() { println "Foo" }
}
字符串
Bar.groovy:
class Bar
{
Bar() { println "Bar" }
}
class Baz
{
Baz() { println "Baz" }
}
型
script.groovy:
#!/groovy/current/bin/groovy
new Foo()
new Bar()
new Baz()
型
然后:
$ groovy ./script.groovy
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
/home/tmp/script.groovy: 5: unable to resolve class Baz
@ line 5, column 1.
new Baz()
^
1 error
型
你知道吗?
2条答案
按热度按时间z9smfwbn1#
当Groovy作为脚本运行而不编译时,类通过将名称匹配到相应的
*.groovy
源文件来解析,因此只能找到类名与源文件名匹配的类。这是known problem标记为不是一个错误。
作为一种解决方法,您可以先使用
groovyc
编译类,然后使用java
运行:字符串
crcmnpdw2#
好吧,你还没有真正解释为什么你想这样做,所以也许明显的答案不会帮助你,但你可以这样做:
字符串