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

轻轻松松编译 Jmeter 源码,再也不求人

Jmeter工具,大家在做接口测试、自动化测试,都是经常会用到的,甚至在做性能测试时,是首选工具。Jmeter本身是用java语言编写的开源的工具,在jmeter.apache.org官网上,可以下载。

但是,也耐不住那些想要自己编译jmeter源码的‘发烧友’,前几天,就被一位学生问到,如何使用jmeter源码包自己编译打包,今天,就来给大家讲讲jmeter源码打包。

对于没有写过java代码的同学,可能电脑上IDEA火eclipse等开发工具都没有安装,所以,我就用jmeter源码包自带的编译工具gradle来给大家讲讲如何编译打包。

  • 首先,从jmeter.apache.org网站上,找到socure中,选择一个包下载

如果你准备的电脑操作系统是linux或mac,则建议下载apache-jmeter-***_src.tgz包,解压。

  • 接下来,检查电脑是否安装了jdk8,java -version 。 这一步是因为jmeter源码编译需要java运行环境,所以需要有jdk。

如果返回如图,说明电脑上已经安装好了jdk8。

  • 接下来,进入jmeter源码包解压后的文件夹,修改gradle.properties文件,添加如下,保存。这个操作的目的是修改gradle源为国内阿里源,加快构建速度。
  •  

    # Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { repositories { # google() # jcenter() maven { url 'https://plugins.gradle.org/m2/' } maven { url 'https://maven.aliyun.com/nexus/content/repositories/google' } maven { url 'https://maven.aliyun.com/nexus/content/groups/public' } maven { url 'https://maven.aliyun.com/nexus/content/repositories/jcenter'} } dependencies { classpath 'com.android.tools.build:gradle:3.2.0' # NOTE: Do not place your application dependencies here; they belong # in the individual module build.gradle files } } allprojects { repositories { # google() # jcenter() maven { url 'https://plugins.gradle.org/m2/' } maven { url 'https://maven.aliyun.com/nexus/content/repositories/google' } maven { url 'https://maven.aliyun.com/nexus/content/groups/public' } maven { url 'https://maven.aliyun.com/nexus/content/repositories/jcenter'} } } task clean(type: Delete) { delete rootProject.buildDir }
  • 做好了上面这些准备工作了,接下来,我们就可以开始打包了。在jmeter源码包解压后的文件夹中,执行
 

# linux or mac ./gradlew build # windows gradlew.bat build

这个时间可能有点长,请耐心等待。构建过程中,会显示进度与日志,如果过程中,出现失败,反复执行,多次执行后,还是报错,就看下报错信息,如果报错信息是‘task......’,这个没有关系,此时包已经打好。

进入bin文件夹,执行

 

# linux or mac ./jmeter # windows 双击 jmeter.bat

能正常启动图形界面,说明包已经打好,可以进入 源码包解压后的文件夹的 src/dist/build/distributions 中找到打包文件

解压后,就可像官方包一样使用了。

至此,源码打包已经完成,在这个过程中,不易把控的就是 gradlew打包过程,如果其中出现意外报错,请百度,或咨询周边熟悉gradle的同事。



 


http://www.kler.cn/a/8137.html

相关文章:

  • 面向未来的教育技术:智能成绩管理系统的开发
  • 【ROS2】坐标TF变换工具-tf2_ros
  • 初学stm32 --- 定时器中断
  • 基于Spring Boot的九州美食城商户一体化系统
  • 解释下什么是面向对象?面向对象和面向过程的区别?
  • 单片机:实现自动关机电路(附带源码)
  • Leetcode.130 被围绕的区域
  • 继承(C++)
  • Spring-aop面向切面
  • Tomcat使用https配置实战
  • chatGPT中国入口-ChatGPT评论文章-ChatGPT怎么用
  • 多线程冲突处理方法,锁
  • 首届“兴智杯”产业赛收官,文心大模型助推产业创新
  • 量化注意事项和模型设计思想
  • rsync远程同步实现快速、安全、高效的异地备份
  • Spring 之循环依赖
  • 【计算机网络-网络层】路由选择协议
  • Redission分布式锁
  • vue3脚手架Vite
  • ChatGPT常用prompts汇总
  • springboot感受优化06
  • 使用for循环对ArrayList在遍历时删除存在的问题
  • Linux如何在Ubuntu系统服务器上安装 Jenkins?【详细教程】
  • 初识设计模式 - 策略模式
  • 基于SpringBoot+Vue的家政平台
  • 命名空间和程序集