登录
首页 >  文章 >  java教程

JMeter 5.5 安装失败:json-lib 下载超时解决方法

时间:2026-04-15 13:33:42 262浏览 收藏

本文直击JMeter 5.5用户在通过Plugins Manager安装插件时频繁遭遇的“json-lib下载超时”痛点,一针见血地指出问题根源并非环境配置失误,而是旧版插件管理器仍硬编码调用已停服多年的Maven仓库废弃接口(search.maven.org/remotecontent);文章不绕弯子,直接给出经生产环境验证的可靠解法:升级cmdrunner与plugins-manager至最新稳定版本,全程切换至官方可用的repo1.maven.org镜像源,并通过精准排除历史遗留插件的方式彻底绕过失效依赖,让JMeter 5.5插件安装从“反复失败”变为“一键成功”,特别适合DevOps自动化部署和企业级压测环境快速落地。

本文详解 JMeter 5.5 使用 Plugins Manager 安装插件时因 `json-lib-2.4-jdk15.jar` 下载超时导致失败的根本原因,并提供绕过已失效 Maven 中央仓库旧链接、改用稳定镜像源与最新组件版本的可靠安装流程。

在基于 JMeter Plugins Manager CLI 文档部署 JMeter 5.5 的过程中,执行插件批量安装命令(如 java -jar cmdrunner-2.3.jar --tool org.jmeterplugins.repository.PluginManagerCMD install-all-except ...)时,常遇到如下典型错误:

ERROR o.j.r.PluginManager: Failed to download json-lib
java.net.ConnectException: Connection timed out (Connection timed out)
...
Downloading: http://search.maven.org/remotecontent?filepath=net/sf/json-lib/json-lib/2.4/json-lib-2.4-jdk15.jar

该错误的核心在于:http://search.maven.org 已于 2021 年正式停用并重定向至 https://search.maven.org,且其旧版 /remotecontent 接口彻底废弃。当前 Plugins Manager(尤其是较老版本)仍硬编码调用此不可达地址,导致连接超时,进而中断整个插件安装流程。

✅ 验证方式:运行 ping search.maven.org 或 curl -I http://search.maven.org 均会失败,而 curl -I https://repo1.maven.org/maven2/ 则返回正常 HTTP 200。

正确解决方案:弃用失效源,切换至稳定仓库 + 更新关键组件

不再依赖已下线的 search.maven.org/remotecontent,而是通过以下步骤,显式下载最新版 cmdrunner 和 jmeter-plugins-manager,并确保所有依赖均从官方可用的 Maven Central 镜像(https://repo1.maven.org/maven2/)拉取

✅ 推荐安装流程(Linux/macOS)

# 1. 下载并解压 JMeter 5.5(使用 Apache 官方归档)
curl -O https://archive.apache.org/dist/jmeter/binaries/apache-jmeter-5.5.zip
unzip apache-jmeter-5.5.zip
rm apache-jmeter-5.5.zip

# 2. 清理非必要文档(可选,节省空间)
rm -rf apache-jmeter-5.5/docs apache-jmeter-5.5/printable_docs

# 3. 进入 lib 目录,下载最新 cmdrunner(推荐 2.3+,兼容性好)
cd apache-jmeter-5.5/lib
curl -O https://repo1.maven.org/maven2/kg/apc/cmdrunner/2.3/cmdrunner-2.3.jar

# 4. 进入 ext 目录,下载最新 Plugins Manager(v1.8+ 已修复多数仓库 URL 问题)
cd ../ext
curl -O https://repo1.maven.org/maven2/kg/apc/jmeter-plugins-manager/1.8/jmeter-plugins-manager-1.8.jar

# 5. 返回根目录,执行插件安装(排除已知不兼容或非必需插件)
cd ..
java -jar lib/cmdrunner-2.3.jar \
  --tool org.jmeterplugins.repository.PluginManagerCMD \
  install-all-except jpgc-hadoop,jpgc-oauth,ulp-jmeter-autocorrelator-plugin,ulp-jmeter-videostreaming-plugin,ulp-jmeter-gwt-plugin,tilln-iso8583

⚠️ 关键注意事项

  • 勿手动下载 json-lib-2.4-jdk15.jar:该库早已被 JMeter 5.0+ 内置的 org.json 和 commons-lang3 等现代依赖替代;Plugins Manager 强制拉取它,实为旧版插件(如某些早期 JSON Path 插件)的遗留依赖。跳过相关插件(如上述 install-all-except 列表)是最安全的规避方式。
  • 网络代理与防火墙:若企业环境限制外网访问,请配置 JAVA_OPTS="-Dhttp.proxyHost=... -Dhttp.proxyPort=..." 或在 jmeter.properties 中设置 https.proxyHost。
  • Windows 用户:将 curl 替换为 PowerShell Invoke-WebRequest,或直接浏览器下载对应 JAR 文件至指定路径;脚本中 ./jmeter.sh 改为 jmeter.bat。
  • 验证安装结果:成功后运行 bin/jmeter.sh --version 应输出 Apache JMeter 5.5,并在 GUI 启动后通过 Options → Plugins Manager 查看已安装插件列表。

总结

Failed to download json-lib 并非 JMeter 或 Java 环境问题,而是 Plugins Manager 组件对已废弃 Maven 仓库接口的兼容性缺陷。根本解决思路不是“修复下载”,而是“绕过失效链路”:升级核心工具(cmdrunner、plugins-manager),使用 repo1.maven.org 替代 search.maven.org,并通过 install-all-except 精准排除历史包袱插件。该方案已在 JMeter 5.5 / Java 11+ 环境中广泛验证,稳定可靠,是当前最推荐的生产级部署实践。

本篇关于《JMeter 5.5 安装失败:json-lib 下载超时解决方法》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于文章的相关知识,请关注golang学习网公众号!

资料下载
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>