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

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:

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


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 文件

jar cfm MessageBuilder.jar build/MANIFEST.MF -C build/ .

或不指定主类

jar cf MessageBuilder.jar -C build/ .

在这里插入图片描述

验证JAR文件

java -cp "MessageBuilder.jar;lib/*" MessageBuilder

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

groovy -cp "MessageBuilder.jar;lib/*" MessageBuilder

示例完整命令汇总

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

http://www.xdnf.cn/news/1167319.html

相关文章:

  • oracle里面concat函数用法,oracle wm_concat函数用法-
  • python学习-读取csv大文件
  • Apache Ignite实现无死锁特性
  • PHP与Web页面交互:从基础表单到AJAX实战
  • k8s:利用helm离线部署consul v1.21.2
  • 【菜狗学聚类】时间序列聚类主要方法—20250722
  • web3.0怎么入局
  • PePeOnTron上线 Binance Alpha:中文社区正走出自己的Web3之路
  • 内核协议栈源码阅读(一) ---驱动与内核交互
  • 进程优先级切换调度-进程概念(6)
  • Taro 网络 API 详解与实用案例
  • SecretFlow (3) --- 添加合作方并创建项目
  • JavaScript,发生异常,try...catch...finally处理,继续向上层调用者传递异常信息
  • RabbitMQ03——面试题
  • uniapp各大平台导航组件
  • 在 Ubuntu 22.04 上安装并优化 Nginx nginx入门操作 稍难,需要有一定理论 多理解 多实践
  • 《Uniapp-Vue 3-TS 实战开发》自定义时间选择
  • Kafka基础理论速通
  • IDEA全局Maven配置
  • 比特币技术简史 第六章:网络协议 - P2P网络、节点类型与消息传播
  • 未来趋势:LeafletJS 与 Web3/AI 的融合
  • Visual Studio Code 远端云服务器开发使用指南
  • (3)重定向 | 时间相关指令 | 文件查找 | 打包与压缩
  • FastDFS 6.11.0 单机环境搭建与测试(附 Nginx 集成)+ docker构建+k8s启动文件
  • Linux异常与信号处理
  • 浙江大学PTA程序设计C语言基础编程练习题1-5
  • 【论文阅读 | TIV 2024 | CDC-YOLOFusion:利用跨尺度动态卷积融合实现可见光-红外目标检测】
  • 边缘计算网关赋能智慧农业:物联网边缘计算的创新应用与实践
  • 【每日算法】专题九_链表
  • python-FTP爆破脚本(phpstudy)-一点bug记录