JMeter 源码解读 [2] - 目录结构分析

本来是准备自己写一个关于Jmeter 目录结构的分析,碰巧看到了这篇 官方文档 内容基本和我要写的差不都,就直接拿来翻译记录一下(对于其中一些过时的内容会直接删除掉

JMeter 的代码目录主要是根据支持的协议和功能来组织的。这样设计的好处是开发者可以编译一个只支持某种协议的JMeter 包而不用编译整个应用。我们接下来会给到更多JMeter 代码目录的解析,因为大多数的JMeter开发者是用ecipse来做开发环境,我们也用eclipse 的目录结构来做介绍

顶部目录

  • bin - 包含.bat 和 . sh 这些文件用于启动JMeter。同时也包含了ApacheJmeter.jar 和 相关的配置文件
  • build - build 脚本创建的目录,存放一些build过程生成的文件
  • dist - build 脚本创建饿目录,存放最后输出的文件
  • docs - JMeter 相关目录
  • extras - ant 相关的其他文件
  • lib - 包含JMeter 依赖的相关文件
  • src - 子目录包含支持的协议和相关组件代码
  • test - 单元测试目录
  • xdocs - 用于生成文档的xml文件,JMeter用xml来生成文档

Lib 目录结构

  • ext - 包含 JMeter 核心和协议相关的 jar 文件。把这些 jar 文件独立出来原因是如果都放在lib/目录里启动速度会变慢
  • opt - 一些可选的 jar 用于 JMeter 的一些可选的功能。这些 jar 只有在build 和 运行的时候才会被引入。用户可以自己下来可选的 jar 放到整个目录里

Src 目录结构

  • core - JMeter 核心功能和接口的代码目录,也是我们分析的重点
  • components - 和协议无关的一些类,例如协议, GUI 组件等
  • examples - 一些sampler的例子
  • functions - 一些其他组件会使用的标准函数
  • jorphan - 公共方法类 (https://markmail.org/message/xisc5fw2dr4bw4uy)
  • protocol - 不同的协议支持代码
  • junit - 测试相关的代码