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 是 :

相关推荐
Flittly14 小时前
【AgentScope Java新手村系列】(16)从RAG到多路检索
java·spring boot·spring
小兔崽子去哪了14 小时前
Java 生成二维码解决方案
java·后端
人活一口气19 小时前
从JVM调优到MCP协议:Java全栈技术体系深度总结与企业级架构实践
java·spring boot
NE_STOP21 小时前
Vibe Coding -- 完整项目案例实操
java
荣码21 小时前
GraphRAG:普通RAG只能回答"点"的问题,我踩了4个坑才搞懂
java·python
SimonKing21 小时前
Google第三方授权登录
java·后端·程序员
明月光81821 小时前
从一行 @Builder 说起:重新拾起 Java 的 Lombok、注解与 Builder 模式
java
考虑考虑1 天前
Mybatis实现批量插入
java·后端·mybatis
咖啡八杯1 天前
GoF设计模式——中介者模式
java·后端·spring·设计模式
青石路1 天前
记一次多JDK版本问题的排查,一坑套一坑,差点没爬上来
java