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.pswp.cn/pingmian/90268.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/90268.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/90268.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

使用maven-shade-plugin解決依賴版本沖突

項目里引入多個版本依賴時,最后只會使用其中一個,一般可以通過排除不使用的依賴處理,但是如果需要同時使用多個版本,可以使用maven-shade-plugin解決。以最典型的poi為例,poi版本兼容性很低,如果出現找不到…

[CH582M入門第十一步]DS18B20驅動

學習目標: 1、介紹DS18B20 2、學習單總線 3、學習DS18B20程序驅動一、DS18B20介紹 DS18B20 是一款由 Maxim Integrated(原Dallas Semiconductor) 推出的 數字溫度傳感器,以其單總線(1-Wire)通信協議、高精度和廣泛應用而聞名。以下是其核心特點和應用介紹: 主要特性 數…

SGLang + 分布式推理部署DeepSeek671B滿血版

部署設備:28A100 80G,兩臺機器,每臺機器8張A100。 模型:deepseek-671B-int8 模型下載地址:https://huggingface.co/meituan/DeepSeek-R1-Block-INT8 模型參考: 1、SGLang Docker部署 github地址&#…

PCL 間接平差擬合球

目錄 一、算法原理 1、計算流程 2、參考文獻 二、代碼實現 三、結果展示 本文由CSDN點云俠原創,首發于2025年7月24日。博客長期更新,本文最新更新時間為:2025年7月24日。 一、算法原理 1、計算流程 空間球方程: ( x ? a ) 2 + ( y ? b ) 2 + ( z ? c ) 2 = R 2 (1) (…

基于 HAProxy 搭建 EMQ X 集群

負載均衡器(LB)負責分發設備的 MQTT 連接與消息到 EMQ X 集群,采用 LB 可以提高 EMQ X 集群可用性、實現負載平衡以及動態擴容。 HAProxy簡介 HAProxy 是一款高性能的 開源負載均衡器 和 反向代理服務器,主要用于在多個服務器之…

RISC-V基金會Datacenter SIG月會圓滿舉辦,探討RAS、PMU性能分析實踐和經驗

一直以來,龍蜥社區在 RISC-V 生態建設中持續投入,并積極貢獻上游社區。多位龍蜥社區成員在 RISC-V 國際基金會擔任主席/副主席角色,與來自阿里云、阿里達摩院、中興通訊、浪潮信息、中科院軟件所、字節跳動、Google、 MIT、Akeana 等企業的專…

CloudComPy使用PyInstaller打包后報錯解決方案

情況描述 筆者在spec文件中,datas變量設置如下。如果你的報錯類似于“找不到cloudComPy”,先嘗試如下的設置。 datas[(CloudCompare,cloudComPy)], 筆者在打包完成后,打開軟件發現報錯: from cloudComPy import* ModuleNotFoun…

node.js中的path模塊

在 Node.js 中,path 模塊提供了處理和操作文件路徑的功能,其中 path.join 和 path.resolve 是兩個常用的方法。它們在處理路徑時有不同的行為和用途: 功能概述 path.join(): 該方法主要用于將多個路徑片段拼接成一個完整的路徑字符串。它會正…

將Scrapy項目容器化:Docker鏡像構建的工程實踐

引言:爬蟲容器化的戰略意義在云原生與微服務架構主導的時代,??容器化技術??已成為爬蟲項目交付的黃金標準。據2023年分布式系統調查報告顯示:92%的生產爬蟲系統采用容器化部署容器化使爬蟲環境配置時間??減少87%??Docker化爬蟲的故障…

Unity × RTMP × 頭顯設備:打造沉浸式工業遠控視頻系統的完整方案

結合工業現場需求,探索如何通過大牛直播SDK打造可在 Pico、Quest 等頭顯設備中運行的 RTMP 低延遲播放器,助力構建沉浸式遠程操控系統。 一、背景:沉浸式遠程操控的新趨勢 隨著工業自動化、5G 專網、XR 技術的發展,遠程操控正在從…

HTTPS如何保障安全?詳解證書體系與加密通信流程

HTTP協議本身是明文傳輸的,安全性較低,因此現代互聯網普遍采用 HTTPS(HTTP over TLS/SSL) 來實現加密通信。HTTPS的核心是 TLS/SSL證書體系 和 加密通信流程。一、HTTPS 證書體系HTTPS依賴 公鑰基礎設施(PKI, Public K…

數據的評估與清洗篇---清洗數據

處理前的準備 檢查索引與列名 在處理內容之前,需要先看看索引或列名是否有意義,若索引和列名都是亂七八糟的,應該對他們進行重命名或者重新排序,以便我們理解數據。 清洗數據 清洗數據原則 針對數據內容,一般先解決結構性問題,再處理內容性問題。整潔數據的特點是: …

Ubuntu apt和apt-get的區別

好的,這是一個非常經典且重要的問題。apt install 和 apt-get install 的區別是很多 Ubuntu/Debian 新手都會遇到的困惑。 簡單來說,它們的功能非常相似,但設計目標和用戶體驗不同。 一句話總結 apt 是 apt-get 的一個更新、更友好、更現代化…

多端適配災難現場:可視化界面在PC/平板/大屏端的響應式布局實戰

摘要精心設計的可視化大屏,在平板上顯示時圖表擠成一團,在PC端操作按鈕小到難以點擊,某企業的可視化項目曾因多端適配失敗淪為“災難現場”,不僅用戶差評如潮,還被競爭對手嘲諷技術落后。多端適配真的只能靠“反復試錯…

Vulnhub Web-Machine-N7靶機攻略(附VB安裝教程)

1.VB安裝 安裝地址:https://download.virtualbox.org/virtualbox/7.1.12/VirtualBox-7.1.12-169651-Win.exe 下載好后直接打開即可開始安裝。安裝前先打開任務管理器(搜索框直接搜索即可)查看性能里面的虛擬化是否打開。 開始安裝。 這里顯…

vite搭建react-ts項目,@別名配置

vite搭建react-ts項目,別名配置一、配置別名二、輸入/能索引文件三、解決找不到模塊“/pages/home”或其相應的類型聲明一、配置別名 vite.config.ts文件 import { defineConfig, loadEnv, type ConfigEnv, type UserConfig } from "vite"; import reac…

AWS OpenSearch 搜索排序常見用法

背景介紹 AWS OpenSearch是AWS的一個檢索分析服務&#xff0c;是基于開源的Elasticsearch 7.x分支fork出來的獨立的一個代碼倉庫&#xff0c;做了獨立的維護&#xff0c;加入了一些自己的優化&#xff0c;本文在這里主要介紹是常見的基礎用法 引入相關依賴<dependency>&l…

深度分析Java內存結構

Java內存結構是JVM的核心機制&#xff0c;直接關系到程序性能、并發能力和穩定性。下面從規范、實現到實踐進行深度分析&#xff1a;一、JVM規范定義的內存區域 1. 程序計數器&#xff08;Program Counter Register&#xff09; 作用&#xff1a;存儲當前線程執行的字節碼指令地…

vs2019 創建MFC ActiveX的詳細步驟

第一步 創建1個MFC ActiveX控件工程 添加方法 輸入方法名稱選擇返回類型點擊 添加參數&#xff0c;最后點擊確認&#xff0c;如下圖 添加的Add方法 注意&#xff0c;如需要添加1個指針類型的參數&#xff0c;需要手動輸入* 最后編譯&#xff0c;如編譯出現下圖錯誤&#xf…

pyarmor加密源代碼

使用低版本python 避免出現加密限制&#xff0c;無法加密情況 環境&#xff1a;python3.9.9 安裝 pyinsatller 及 pyarmor pip install pyinsatller pyarmor添加 其它pyinstaller 打包參數 一定在下邊正式打包命令運行前執行 具體參考 https://pyarmor.readthedocs.io/zh/stabl…