创建可在 Groovy 中导入和使用的库

Creating libraries that can be imported and used in Groovy

目前,我正在开展一个项目,将我公司的内部脚本语言(面向对象并吸收了其他语言的许多功能)转换为具有许多相似功能的 Groovy。

为了使代码尽可能接近原始代码,我试图让某些函数名称和参数保持不变。为了迎合这个,我想写一套可以导入的库。

例如,假设我有一个原始脚本语言的内置方法, 我希望能够在 groovy 文件中编写此方法的定义,然后可以在需要时导入该文件,并且可以调用该方法。

Tools.groovy

// filename: Tools.groovy
public String foo(String bar) {
    return bar;
}

并在另一个文件中

Main.groovy

// filename: Main.groovy
import Tools;

String bat = foo("bar")

我知道您可以将 class 文件编译成 jar 并将它们放入 class 路径,但是我需要实现的很多方法要么需要元编程,要么不会' t 与对象相关联。

抱歉,如果问题不好或不够清楚。我不确定它是否可能。

干杯

我相信您应该能够创建库并在需要时重用它们。

您需要做的就是创建 class 并添加静态方法(如果您不必创建实例),否则添加非静态方法。那么看来你已经知道后面的操作了。

例如,您可以根据您的描述为字符串、列表等创建实用程序 classes。

顺便说一下,即使您不创建库,也可以在 groovy 中编写一行来实现您可能需要的大多数情况。