轻轻松松编译 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的同事。
相关文章
- c源码编译
- VS2015编译CURL7.54.0源码
- VS2015编译GEOS3.5.1源码
- 用Maven编译Apache flume-ng 1.5.0源码及问题解决
- Centos7编译Hadoop源码
- 【Kafka】编译 Kafka 源码并搭建源码环
- Android:源码环境编译自定义的APP到ROM(System Image)中
- iOS开发教程之在 Swift 中使用 PDFKit 动态生成 PDF(教程含源码)
- SwiftUI 基础之 01 modifier修饰器 教程含源码
- macOS SwiftUI 封装组件之 确定指示器NSProgressIndicator(教程含源码)
- macOS SwiftUI教程之 Menu菜单组件基础使用(教程含源码)
- Flet教程之 15 GridView 基础入门(教程含源码)
- Nginx源码编译安装选项
- SwiftUI Mapkit 导航基础教程大全之 MKMapView地图显示并实现导航线路(教程含源码)
- SwiftUI CV视觉App之基于VisionKit扫描卡识别内容 (教程含源码)
- AFNetworking源码分析
- 【企鹅电竞直播源】浏览器抓取真实直播源地址(纯前端JS & PHP解析源码)
- 多目标遗传算法 ------ NSGA-II (部分源码解析)两个个体支配判断 dominance.c
- Spring 源码编绎
- Linux APP源码级编译安装
- arcgis api 3.x for js 之 echarts 开源 js 库实现地图统计图分析(附源码下载)
- springboot+vue家具销售电商平台(源码+文档)
- asp.net mvc4源码
- Jenkins_获取源码编译并启动服务(一)
- JDK源码重新编译——支持eclipse调试JDK源码--转载
- 编译你的第一个Java虚拟机--Centos 7 编译openJdk1.7源码
- Linux源码编译安装MySQL5.7
- 【Hive】Apache Hive源码编译