JMeter groovy 编译成.jar 文件

groovy 编译

一、windows 下手动安装Groovy

下载 Groovy 二进制包

前往官网:https://groovy.apache.org/download.html

下载 Binary release(

https://groovy.jfrog.io/ui/native/dist-release-local/groovy-zips/apache-groovy-sdk-4.0.27.zip

解压到本地目录

例如解压到:D:\Soft\Dev\groovy-4.0.27

配置环境变量

添加 GROOVY_HOME:D:\Soft\Dev\groovy-4.0.27

将 Groovy 的 bin 目录加入 PATH:%GROOVY_HOME%\bin

验证安装

打开 CMD 或 PowerShell:

bash 复制代码
groovy -version

二、使用 Groovy 编译 Java 源码

准备环境

Java JDK 已安装(建议 JDK 8 或以上)

Groovy 已手动安装并加入系统 PATH

Protobuf 依赖已准备好

目录结构示例

复制代码
D:\groovy-projects\
├── src\
│   └── MessageBuilder.groovy
├── lib\
│   ├── protobuf-java-3.21.12.jar
│   └── .. 其他依赖包
└── build\

编译 Groovy 文件为 .class

bash 复制代码
cd D:\groovy-projects
groovyc -cp "lib/*" src/MessageBuilder.groovy -d build/

-cp "lib/*":指定依赖库路径

-d build/:指定输出目录

编译完成后,build/ 目录下会生成 .class 文件。

创建 MANIFEST.MF 文件(可选)

在 build/ 目录下创建一个 MANIFEST.MF 文件(如果需要指定主类):

复制代码
Manifest-Version: 1.0
Main-Class: MessageBuilder

打包成 .jar 文件

bash 复制代码
jar cfm MessageBuilder.jar build/MANIFEST.MF -C build/ .

或不指定主类

bash 复制代码
jar cf MessageBuilder.jar -C build/ .

验证JAR文件

bash 复制代码
java -cp "MessageBuilder.jar;lib/*" MessageBuilder

如果你的类中有 main 方法,可以这样运行:

bash 复制代码
groovy -cp "MessageBuilder.jar;lib/*" MessageBuilder

示例完整命令汇总

bash 复制代码
cd D:\groovy-projects

:: 编译
groovyc -cp "lib/*" src/MessageBuilder.groovy -d build/

:: 创建 MANIFEST(可选)
echo Manifest-Version: 1.0 > build/MANIFEST.MF
echo Main-Class: MessageBuilder >> build/MANIFEST.MF

:: 打包
jar cfm MessageBuilder.jar build/MANIFEST.MF -C build/ .

:: 验证
groovy -cp "MessageBuilder.jar;lib/*" MessageBuilder

注意事项

如果 MessageBuilder.groovy 没有 main 方法,不需要指定 Main-Class

确保 MessageProBuf 已正确打包为 JAR 并放入 lib/ 目录

如果你使用的是 Windows 系统,类路径中的分隔符是 ;Linux/macOS 是 :

相关推荐
没有bug.的程序员4 分钟前
JVM 总览与运行原理:深入Java虚拟机的核心引擎
java·jvm·python·虚拟机
甄超锋29 分钟前
Java ArrayList的介绍及用法
java·windows·spring boot·python·spring·spring cloud·tomcat
阿华的代码王国1 小时前
【Android】RecyclerView复用CheckBox的异常状态
android·xml·java·前端·后端
Zyy~1 小时前
《设计模式》装饰模式
java·设计模式
A尘埃1 小时前
企业级Java项目和大模型结合场景(智能客服系统:电商、金融、政务、企业)
java·金融·政务·智能客服系统
青云交1 小时前
Java 大视界 -- 基于 Java 的大数据可视化在城市交通拥堵治理与出行效率提升中的应用(398)
java·大数据·flink·大数据可视化·拥堵预测·城市交通治理·实时热力图
CHEN5_022 小时前
【Java基础面试题】Java基础概念
java·开发语言
二十雨辰2 小时前
[TG开发]照片机器人
java·web3
武昌库里写JAVA3 小时前
JAVA面试汇总(四)JVM(一)
java·vue.js·spring boot·sql·学习
落霞的思绪4 小时前
Java设计模式详细解读
java·开发语言·设计模式