当前位置: 首页 > news >正文

【Groovy】Groovy环境搭建

1 前言

​ Groovy 是一种基于 JVM 平台的敏捷且动态的编程语言,能与 Java 无缝集成。该语言由 James Stracham 和 Bob McWhirter 于 2003 年启动开发,在 2007 年 1 月发布第一个版本。

​ Groovy 具有以下优势。

  • 简洁优雅的语法:Groovy 的语法比 Java 更加简洁,省略了繁琐的代码结构,例如分号、类型声明等,让开发者更专注于业务逻辑的实现。
  • 动态类型:Groovy 是动态类型语言,无需显式声明变量类型,编译器会在运行时自动推断类型,提高了代码的灵活性和开发效率。
  • 强大的闭包支持:闭包是 Groovy 的一大特色,它可以将代码块作为参数传递,简化了代码结构,提升了代码的可读性和可维护性。
  • 与 Java 无缝集成:Groovy 与 Java 完全兼容,可以直接使用 Java 类库,也可以将 Groovy 代码编译成 Java 字节码,运行在 JVM 上。
  • 丰富的生态系统:Groovy 拥有丰富的生态系统,包括 Grails 框架、Gradle 构建工具等,为各种应用场景提供了强大的支持。

​ Groovy 相关资料如下。

  • Groovy 官网:https://groovy-lang.org/
  • Groovy 官方文档:https://groovy-lang.org/documentation.html
  • groovy-sdk 下载:https://groovy.apache.org/download.html
  • Groovy GitHub:https://github.com/apache/groovy

2 搭建 Groovy 环境

1)配置环境变量

​ 下载 groovy-sdk:apache-groovy-sdk-4.0.25.zip,放在路径中无空格的英文目录下(笔者放在【D:\Android\Groovy】目录下),解压后,在【系统 → 系统信息 → 高级系统设置 → 环境变量 → 系统变量 → Path】中配置环境变量,将以下路径添加到 Path 中。

D:\Android\Groovy\groovy-4.0.25\bin

​ 配置完环境变量后,在 cmd 窗口输入 groovy -version、groovyc -version,如果正确打印 groovy 版本号,说明环境变量配置成功,如下。

img

2)编译 Groovy 代码

​ 使用记事本编写以下代码,并保存为 Test.groovy 文件。

println("Hello world!")

​ 使用以下命令可以编译 Groovy 代码为字节码,生成 Test.class 文件。

groovyc Test.groovy

​ 使用以下命令运行程序。

groovy Test.groovy

img

3)Groovy Console

​ 在【 groovy-sdk/bin】目录下,双击 groovyConsole.bat 文件(笔者路径如下),即可打开 Groovy 控制台。

D:\Android\Groovy\groovy-4.0.25\bin\groovyConsole.bat

​ Groovy 控制台页面如下,在控制台中可以编写代码,点击【Script / Run】(或按快捷键 Ctrl + R)即可运行代码。按快捷键【Ctrl + Shift + L】和【Ctrl + Shift + S】分别可以放大和缩小工作区界面。

img

​ 在 Android Studio 中,可以点击【Tools / Groovy Console】打开 Groovy 控制台,页面如下。

img

3 脚本执行原理

​ Groovy 是面向对象编程语言,对于以下脚本,Groovy 会将其封装到一个类中。

println("Hello World")

​ 如下,Groovy 会生成 Main 类继承 Script,并将脚本的主体复制到 run 方法中,在 main 方法中执行 run 方法。

import org.codehaus.groovy.runtime.InvokerHelperclass Main extends Script {def run() {println("Hello World")}static void main(String[] args) {InvokerHelper.runScript(Main, args)}
}

4 拓展

4.1 Java 文件改后缀名为 Groovy 文件

​ 编写以下 Java 代码,文件名为 Test.java,使用 java Test.java 命令可以运行代码。

public class Test {public static void main(String[] args) {System.out.println("Hello World!");}
}

​ 如果将文件后缀名由 java 改为 groovy,使用 groovy Test.groovy 命令仍然可以运行代码,如下,由此也说明 Groovy 兼容 Java。

img

4.2 Groovy 简化 java.lang.process

​ 假设本地安装了 Git,现在想在代码中执行 “git help”,java 的写法如下。

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;public class ExecuteProcess {public static void main(String[] args) {try {Process process = Runtime.getRuntime().exec("git help");BufferedReader bf = new BufferedReader(new InputStreamReader(process.getInputStream()));String line;while((line = bf.readLine()) != null) {System.out.println(line);}} catch (IOException e) {e.printStackTrace();}}
}

​ Groovy 中的实现如下,可以看到 Groovy 扩展了 JDK,极大简化了代码。

println "git help".execute().text

​ 声明:本文转自【Groovy】Groovy环境搭建。

http://www.gsyq.cn/news/14748.html

相关文章:

  • 2025年TAB拉链制造商权威推荐榜:创新设计与耐用品质口碑
  • Fluttercon EU 2025 :Let‘s go far with Flutter - 详解
  • io的异步处理io_uring,实现io_uring_tcp_server - 详解
  • P3977 [TJOI2015] 棋盘题解
  • 软工
  • 10.1考试T4(swap)题解
  • 如何在windows10的子系统(wsl)中安装php开发环境 - 教程
  • 网页端如何 打开百度高德腾讯地图导航
  • 完整教程:Coze源码分析-资源库-编辑插件-后端源码-IDL/API/应用服务层
  • 原来的OJ怎么没了?
  • 存在是必然的有机系统,好事多磨,心诚则灵
  • SQL 多表查询速查:JOIN、子查询一文全掌握 - 详解
  • 14.单臂路由(2025年9月29日) - 教程
  • 2025 年检测器厂家推荐 TOP 品牌权威排名,防爆火焰 / 一体化火焰 / 紫外线火焰 / 离子火焰 / 红外线火焰 / 红紫外复合火焰 / 智能火焰检测器公司推荐
  • 【Git】Git 操作指令大全及运用场景详解
  • 9-29
  • 2025 年衬氟鹤管源头厂家 TOP 企业品牌推荐排行榜,天然气 / 低温 / LNG / 撬装 / 底装 / 火车 / 装卸车 / 上装 / 衬氟 / 下装鹤管公司推荐这 10 家
  • 20250928 组合计数
  • 绕过Cloudflare IP白名单限制的技术解析
  • 对于实现贪吃蛇游戏的超详细保姆级解析—下 - 教程
  • 2025 年热转印花膜厂家 TOP 企业品牌推荐排行榜,硅胶 / 五金 / 塑胶 / ABS / 涂料桶 / PP / 水杯 / 温变 / 冰变热转印花膜加工厂推荐
  • 2025 年生物除臭设备厂家 TOP 品牌企业推荐排行榜揭晓:印染厂污水 / 食品厂污水 / 污水处理厂 / 污水泵站 / 污水站 / 餐厨垃圾 / 屠宰场 / 厨余垃圾生物除臭设备公司推荐
  • 2025 年乡墅平台 TOP 服务机构平台推荐排行榜 ,乡墅设计 / 品牌 / 加盟 / 农村自建房 / 建别墅 / 一站式建 / 湖南 / 长沙乡墅服务商推荐这十家公司!
  • 2025 年美缝剂厂家 TOP 企业品牌推荐排行榜,深度剖析美缝剂公司实力与产品优势!
  • 深入理解 Qt 元对象系统:QMetaEnum 的应用与实践 - 指南
  • 2025 年褐藻寡糖厂家 TOP 企业品牌推荐排行榜,农业级 / 食品级 / G 型 / 化妆品级 / 饲料级 / 肥料用褐藻寡糖 / 褐藻寡糖钾盐 / 水剂 / 粉剂 / M 段公司推荐!
  • 2025 年橡胶软接头厂家 TOP 企业品牌推荐排行榜,法兰 / 可曲挠 / 挠性 / KXT / 耐油 / EPDM / 耐腐蚀 / 三元乙丙橡胶软接头 / 橡胶柔性软接头公司推荐!
  • 2025 聚焦人力资源管理系统厂商 TOP 推荐排行榜单,洞察人力资源管理系统前沿技术与服务实力!
  • 苏州昆山GEO优化/2025苏州GEO产品优化与谷歌出海营销服务商推荐:精准触达全球客户
  • 深入解析:从引流到生态:排队免单如何重构商家私域流量?