Apache Groovy

JVM 动态脚本语言
授权协议 Apache
开发语言 Java Groovy
所属分类 程序开发、 脚本编程语言
软件类型 开源软件
地区 不详
投 递 者 陈晟睿
操作系统 跨平台
开源组织 Apache
适用人群 未知
 软件概览

Groovy 是一种基于 JVM 的敏捷开发语言,它结合了 Python、Ruby 和 Smalltalk 的许多强大的特性。

Groovy 主要的特点包括:

  • 是一个基于Java 虚拟机的敏捷动态语言

  • 构建在强大的 Java 语言之上 并添加了从 Python、Ruby 和 Smalltalk 等语言中学到的诸多特征

  • 为 Java 开发者提供了现代最流行的编程语言特性,而且学习成本很低(几乎为零)。

  • 支持 DSL(Domain Specific Languages 领域定义语言)和其它简洁的语法,让你的代码变得易于阅读和维护。

  • Groovy 拥有处理原生类型,面向对象以及一个 Ant DSL ,使得创建 Shell Scripts 变的非常简单。

  • 在开发 Web,GUI,数据库或控制台程序时 通过减少框架性代码 大大提高了开发者的效率。

  • 支持单元测试和模拟(对象),可以简化测试

  • 无缝集成 所有已经存在的 Java 对象和类库

  • 直接编译成 Java 字节码,这样可以在任何使用 Java 的地方使用 Groovy 。

在线API doc:http://tool.oschina.net/apidocs/apidoc?api=groovy

  • Apache Groovy 的 4.0.0 版本引入了switch表达式、密封类、内置类型检查器、内置宏方法、记录类、JavaShell、POJO注解、Groovy 合同、Groovy 集成查询和 TOML 支持。 此版本还包含一些较小的改进和重大更改。 鼓励开发人员在升级到 Groovy 4.0.0 时更改其依赖项,因为 Maven groupId 已从 org.codehaus.groovy

  • 由于Apache Groovy 2.6(最新版本在2017年11月16日为2.6.0-alpha-2),它可以使用Java8中的Lambda语法和Java 7中的try-with-resources。 Groovist像这些功能一样经常使用(关闭) 但是适应Java的语法对于吸引尚未使用Apache Groovy的Java开发人员来说非常重要。 安装Apache Groovy,然后从以下位置更改文

  • 原文地址:Apache Groovy 编写 retry 函数 | 详细教程(永久地址,保存网址不迷路 ) 问题描述 在 Jenkins Pipeline 中,通过 retry 函数,能够对某个操作重复进行,直到成功。尤其是在网络请求中,我们更应该使用 retry 函数,以防止服务器负载过高而产生的临时失败。 但是,Jenkins Pipeline 的执行速度“较慢”(这是 Jenkins 的优化

  • 原文地址:Apache Groovy-Grape,依赖管理工具(永久地址,保存网址不迷路 ) 问题描述 Grape,是 Groovy 的依赖管理工具,可以让我们快速添加 Maven 依赖,简化脚本的编写。 该笔记将记录:在 Groovy 中,如何使用 Grape 管理依赖,以及常见问题处理。 解决方法 在代码中,引入依赖: @Grab(group='org.springframework', m

  • 问题描述 在 Groovy 中,我们需要运行 Shell 命令,尤其将其当作脚本使用并配合 Git 命令时(我们知道有 JGit 类库,但是远不及命令方便,也可能是习惯)。 总之,我们需要在 Groovy 中调用 Shell 命令。 该笔记将记录:在 Groovy 中,如何执行 Shell 命令,以及常见操作、注意事项。 解决方案 执行命令,并获取输出: String result = "ls -

  • groovy 2.5.4 用于JVM的15年历史的语言Groovy现已发布,其中包含一个经过改进的新版本 ,并且其路线图上还有更多内容。 新版本的绝对亮点是对宏的支持,该宏使您可以在创建编译时元编程扩展时直接使用Groovy语法,而不使用内部编译器表示形式。 但这还不是全部。 让我们检查一下新功能和增强功能。 groovy和groovyConsole现在可以直接运行JUnit 5测试 Groovy

  • 问题描述 在 Groovy 中,我们需要连接 SQLite 数据库,以进行某些简单的数据存取操作。 该笔记将记录:在 Groovy 中,如何连接数据库。 解决方案 我们依旧使用 JDBC 连接数据库,所以与 Java 的用法是类似的(存在的问题也多半相仿),只是函数调用不同。 @Grapes([ @Grab(group='org.xerial',module='sqlite-jdbc',vers

  • 用于JVM的15年历史的语言Groovy现已发布,其中包含一个经过改进的新版本 ,并且其路线图中还有更多内容。 新版本的绝对亮点是对宏的支持,该宏使您可以在创建编译时元编程扩展时直接使用Groovy语法,而不使用内部编译器表示形式。 但这还不是全部。 让我们检查一下新功能和增强功能。 groovy和groovyConsole现在可以直接运行JUnit 5测试 Groovy CLIBuilder工具

  • 问题描述 Grape,是 Groovy 的依赖管理工具,可以让我们快速添加 Maven 依赖,简化脚本的编写。 该笔记将记录:在 Groovy 中,如何使用 Grape 管理依赖,以及常见问题处理。 解决方法 在代码中,引入依赖: @Grab(group='org.springframework', module='spring-orm', version='3.2.5.RELEASE') imp

  • 原文地址:Apache Groovy——java.lang.NoSuchMethodError: x.x.x: method ()V not found(永久地址,保存网址不迷路 ��) 问题描述 在执行 Groovy 代码中,产生如下错误: ava.lang.NoSuchMethodError: com.lispstudio.model.TeamLispstudio: method <init>

  • 问题描述 在执行 Groovy 代码中,产生如下错误: ava.lang.NoSuchMethodError: com.lispstudio.model.TeamLispstudio: method <init>()V not found 问题原因 在继承父类之后,没调用父类的构造函数。 解决方法 有两种解决方法:1)调用与父类相同的构造函数;2)使用 InheritConstructors 注解

  •   相关文章 「Java」- 虚拟机指令 「Krakatau」 「Java」- 虚拟机指令 「Groovy」- 找到调用该方法的类 「PHP」- 4.Packages and Build Tools

  • Engineering Josh Long March 27, 2020 Hi, Spring fans! In this installment Josh Long (@starbuxman) talks to fellow Java Champion, Oracle Groundbreaker, and Apache Groovy, Testcontainers, and Reactor co

 相关资料
  • 问题内容: 我有一组要处理的.csv文件。使用SQL查询来处理它会容易得多。我想知道是否有某种方式可以加载.csv文件,并使用SQL语言通过python或ruby之类的脚本语言对其进行查询。用类似于ActiveRecord的东西加载它会很棒。 问题是我不想在运行脚本之前在某个地方运行数据库。在脚本语言和某些模块之外,我不需要其他安装。 我的问题是该任务应使用哪种语言以及使用哪些模块。我环顾四周,找

  • 问题内容: 我正在尝试对聚合执行以下查询: 并引发以下异常: 任何想法我该如何解决。参考: http://www.elasticsearch.org/guide/zh- CN/elasticsearch/reference/current/search-aggregations-metrics-sum- aggregation.html 问题答案: 默认情况下,elasticsearch中禁用动态

  • 我正在尝试以下关于聚合的查询: 它引发以下异常: 你知道我该怎么解决这个问题吗。参考: http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-aggregations-metrics-sum-aggregation.html

  • Qore 是一个模块化、支持多线程的、集成SQL、弱类型的面向过程和对象的脚本语言,语法简单易懂。 Qore supports safe signal handling, exception handling and exception-safe programming, XML and JSON integration as well as TLS/SSL socket support, HTT

  • 问题内容: 我列出了需要从SQL Server中删除的表(大约100 ++)。以下是我将使用的示例代码 我需要将表名100 ++时间替换为其他表名。如何编写可以自动生成查询列表的动态sql脚本? 问题答案: 您可以先生成脚本,然后使用动态sql执行: 如果您使用的版本低于2012,则需要使用字符串串联进行更改。 您可以通过修改模板轻松地使用自定义架构扩展此脚本: 输出:

  • 本文向大家介绍Python中的 ansible 动态Inventory 脚本,包括了Python中的 ansible 动态Inventory 脚本的使用技巧和注意事项,需要的朋友参考一下 1.Ansible Inventory  介绍; Ansible Inventory 是包含静态 Inventory 和动态 Inventory 两部分的,静态 Inventory 指的是在文件中指定的主机和组,

  • 在动态类型语言去掉类型二字,就成了动态语言,比方说不少地方都说python是动态语言,其实只是它的动态性比较多一些而已,很多所谓的静态语言也有动态性,只是没有那么明显,因此动态语言是一个很含糊的词,一般而言就是随主流的认识,比如python,ruby是动态语言,C,java是静态语言等 动态性不适合修饰语言,适合修饰一些语法特性,简单的说,静态就是编译期可以决定的一些事情,而动态就是运行期才能决定

  • 脚本语言是介于 HTML 和 Java、C++ 和 Visual Basic 之类的编程语言之间的语言。HTML 通常用于格式化文本和链接网页。编程语言通常用于向计算机发送一系列复杂指令。脚本语言也可用来向计算机发送指令,但它们的语法和规则没有可编译的编程语言那样严格和复杂。脚本语言主要用于格式化文本和使用以编程语言编写的已编译好的组件。 Active Server Pages 使 Web 开发商