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

我需要制作一个独立的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

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!