Groovy 如何在脚本中的多个文件中使用多个类?
我需要制作一个独立的Groovy脚本,它不需要编译,并且在没有安装Groovy的情况下运行。它工作得很好,但除了主脚本之外,它无法识别任何其他脚本 我的文件夹结构如下所示:Groovy 如何在脚本中的多个文件中使用多个类?,groovy,scripting,Groovy,Scripting,我需要制作一个独立的Groovy脚本,它不需要编译,并且在没有安装Groovy的情况下运行。它工作得很好,但除了主脚本之外,它无法识别任何其他脚本 我的文件夹结构如下所示: libs\ groovy-all-2.4.3.jar ivy-2.4.0.jar src\ makeRelease.groovy ReleaseHelper.groovy 我通过这种方式从src文件夹启动脚本: java-cp../libs/*“makeRelease.groovy make
libs\
groovy-all-2.4.3.jar
ivy-2.4.0.jar
src\
makeRelease.groovy
ReleaseHelper.groovy
我通过这种方式从src文件夹启动脚本:
java-cp../libs/*“makeRelease.groovy
makeRelease如下所示:
public class makeRelease {
public static void main(String... args) {
new ReleaseHelper()
...
}
}
运行时,这是输出:
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
src\makeRelease.groovy: 5: unable to resolve class ReleaseHelper
如何在这样的可移植脚本中包含其他类(位于单独的文件中)?我认为这比您想象的要容易:
libs\
groovy-all-2.4.3.jar
src\
main.groovy
Greeter.groovy
其中main.groovy
和Greeter.groovy
只需在类路径中添加文件夹,在这些文件夹中,类位于不同的文件中:
java -cp .;..\libs\groovy-all-2.4.3.jar groovy.ui.GroovyMain main.groovy
上述收益率:
Main script starting...
Hello!
只是想明确一点:关键是要将当前目录添加到类路径中,否则将找不到其他类。也许我应该把这一点说清楚。谢谢你的评论。
java -cp .;..\libs\groovy-all-2.4.3.jar groovy.ui.GroovyMain main.groovy
Main script starting...
Hello!