java - 使用 Groovy 作为脚本语言

标签 java groovy scripting-language

我更喜欢将脚本语言用于短期任务,例如真正简单的 http bot、从某处批量导入/导出数据等...基本的一次性脚本和简单的东西。关键是,脚本语言只是编写快速程序的有效工具。至于我目前对 Groovy 的理解......

如果您要在 Groovy 中编程,并且不想编写快速脚本,您是否会被迫回到常规的 Java 语法(而且我们知道与脚本语言相比,这有多么复杂)为了做更复杂的事情?例如,如果我想编写一些 http 脚本,我不会马上回到使用 java 语法来调用 Commons HttpClient 吗?对我来说,脚本语言的重点是快速输入和减少强制构造。还有一件事,当已经有这么多优秀的 Java 库时,似乎没有任何动力去开发基于 groovy 的库,因此使 groovy 看起来是一种依赖于 Java 的语言,具有次要的脚本功能。

所以现在我想知道我是否可以改用 Groovy 作为脚本语言,或者继续使用更常见的脚本语言,例如 Perl、Python 或 Ruby。

最佳答案

@Zombies,让我给你看一个我最近写的脚本的简单例子:

def fetch(build, toFile) {
    new FTPClient().with {
        connect ftpServer
        enterLocalPassiveMode()
        login ftpUser, ftpPassword
        changeWorkingDirectory "/var/staging/revision-${build}"
        fileType = FTPClient.BINARY_FILE_TYPE
        toFile.withOutputStream { ostream -> 
            retrieveFile "build-${build}.zip", ostream 
        }
        disconnect()
    }
}

它使用 commons-net API,但我认为您会同意它的语法比同类 Java 程序清晰得多。所以我不认为使用 Java API 会破坏拥有脚本语言的目的。此外,它还可以帮助您利用现有的 Java API 知识,因此是一种非常实用的方法。

关于java - 使用 Groovy 作为脚本语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2645801/

相关文章:

windows - 在 Windows 中自动执行任务的最佳方式

java - 通过 JSP 将变量传递给 Java?

java - 简单的 Mockito 验证在 JUnit 中有效但在 Spock 中无效

linux - 为什么 RPC 调用在从 Linux 上的 Groovy 调用的 C 程序中失败?

grails - 从Excel文件导入后出现多个GORM ValidationException

c++ - 与 C++ 绑定(bind)时最有效的脚本语言是什么?

python - 我应该使用 Perl 还是 Python 进行网络监控?

java - 用 BigDecimal 计算圆周率

java - Java中的对象锁

java - 如何在不读取的情况下关闭持久 HTTP 连接