首页 > 解决方案 > 如何在一个文件中声明一个 Groovy 类并在另一个文件的 Groovy 脚本中使用它?

问题描述

在阅读了许多线程之后,我被困在这个非常简单的任务上。

我有一个只有两个文件的沙盒项目:

src/main/groovy/classes/foo

package classes.foo

class Foo{
    @Override
    String toString() {
        return "Foo"
    }
}

src/main/groovy/scripts/script.groovy

package scripts

import classes.Foo

def foo = new Foo()
print foo.toString()

现在,如果我运行命令:

groovy src/main/groovy/scripts/script.groovy

我收到以下错误:

org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
src\main\groovy\scripts\utils\script.groovy: 3: unable to resolve class classes.Foo
 @ line 3, column 1.
   import classes.Foo
   ^

1 error

如何在脚本 script.groovy 中使用我的类 Foo ?

标签: groovy

解决方案


正如 dagget 所建议的,我必须根据我的根文件夹指定类路径,在我的例子中是groovy

groovy -cp src/main/groovy src/main/groovy/scripts/script.groovy

推荐阅读