jmeter java request需要executable jar需要打包,,javac,jar打包,,maven shade打包,maven assembly打包,全依赖包,可执行包,assembly包太大,maven取消传递依赖exclusions

jmeter初学,用http request sampler作为sampler,有限制,自己写的tcp c/s代码需要压测,只能再写一个springboot controller + tomcat,在controller中创建客户端,连接服务器,然而这些还需要tomcat dispacher 分派http请求,jmeter模拟出来的线程的每一次迭代都要对应一个httprequest,经过tomcat处理再次封装成tomcat线程,这个过程会浪费一些性能。

了解到jmeter 还有java request,本质是一个jar包,本质是运行字节码文件,这样jmeter模拟出来的线程的每一次迭代就是执行可执行jar包中的字节码,没有中间商赚差价。

这个jar包需要自己编码然后打包,

1.编码:

引入依赖maven仓库浏览搜索:https://mvnrepository.com/artifact/org.apache.jmeter/ApacheJMeter_java/5.1.1

继承AbstractJavaSamplerClient类或实现xxx接口

https://blog.csdn.net/qilinxo/article/details/81209523(这个博客用到了assembly进行打包,生成的jar包是全依赖jar包,耗时长,结果太大,自己的demo打包后125m)

https://www.cnblogs.com/yshyee/p/8073621.html(这个Test类的文件可以参考)https://www.cnblogs.com/mawenqiangios/p/5946549.html

https://blog.csdn.net/max229max/article/details/88061150

2.打包

2.1方法一:可以创建java-se工程(非maven),eclipse ,new java project,  build path-> add external手动添加apache-jmeter的jar包,写完后,export as a runnable jar file,

2.2方法二:创建maven工程,打包方式build插件用shade:  maven-shade:https://mvnrepository.com/artifact/org.apache.maven.plugins/maven-shade-plugin

2.3注意,不要用assembly插件打包,全依赖包很大,

 

2.4maven会传递依赖很多不需要的jar包,为了不把这些jar包也打到最后的jar中,需要exclusion:  http://www.360doc.com/content/17/1114/14/19075496_703739454.shtml

2.4打包出现编码错误:

 

 在Pom.xml中添加:

<properties>
<!-- 文件拷贝时的编码 -->
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<!-- 编译时的编码 -->
<maven.compiler.encoding>UTF-8</maven.compiler.encoding>
</properties>

具体打好的jar包中有什么信息,可以解压缩查看。。

3.1

【Maven学习】Maven打包生成普通jar包、可运行jar包、包含所有依赖的jar包

https://blog.csdn.net/u013177446/article/details/54134394

3.java命令行工具打包:

javac -encoding utf-8 -cp xxx;xxx;. xxx.java

写一个manifest指定引用的类包路径和,主类入口函数等信息

jar cvf manifest xxx.jar   xx.jar  xx.class xxx.class 

java -jar xxx.jar可以运行

https://introcs.cs.princeton.edu/java/85application/jar/jar.html

https://www.cnblogs.com/applerosa/p/9736729.html

posted on 2019-09-20 11:45  CreatorKou  阅读(355)  评论(0编辑  收藏  举报

导航