当前场景:我需要把jmeter部署到Linux服务器上执行脚本,步骤是先把jmeter的文件夹传到Linux服务器上,然后配置jmeter环境,但是验证jmeter -v时,出现了报错,如下:
java.lang.Throwable: Could not access /usr/share/apache-jmeter-5.1.1/lib
at org.apache.jmeter.NewDriver.<clinit>(NewDriver.java:105)
java.lang.Throwable: Could not access /usr/share/apache-jmeter-5.1.1/lib/ext
at org.apache.jmeter.NewDriver.<clinit>(NewDriver.java:105)
java.lang.Throwable: Could not access /usr/share/apache-jmeter-5.1.1/lib/junit
at org.apache.jmeter.NewDriver.<clinit>(NewDriver.java:105)
java.lang.ClassNotFoundException: org.apache.jmeter.JMeter
at java.net.URLClassLoader.findClass(URLClassLoader.java:387)
at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
at org.apache.jmeter.NewDriver.main(NewDriver.java:250)
JMeter home directory was detected as: /usr/share/apache-jmeter-5.1.1
百度查原因,有的说java环境配置有问题(但是我很确定java没有配置错,因为有项目已经在执行了),有的说jmeter文件损坏,但是我从Windows刚上传的文件怎么会损坏呢?然后就查了Linux中jmeter下的目录,发现apache-jmeter-5.1.1下没有lib目录。what?什么鬼?为啥呢。
回顾了下我从Windows上传jmeter文件到Linux服务器的过程,我是在jmeter官网上下载的压缩包,然后Windows中解压后上传到的Linux服务器,就猜测这个过程可能会有问题,把lib目录给传错位置了。
解决方法就是把从jmeter官网上下载下来的压缩包直接上传到Linux服务器上,然后在服务器上解压。就可以解决此报错问题了。
另,附我错误上传jmeter文件夹到Linux服务器上的命令一份:
scp -r D:\apache-jmeter-5.1.1 root@10.200.11.66:/usr/share
(这是上传解压后的jmeter文件,会出现上边的问题)
这是我直接上传jmeter压缩包的命令:
scp C:\Users\root\Documents\apache-jmeter-5.1.1.tgz root@10.200.11.66:/usr/share/
然后在服务器中解压:tar zxvf apache-jmeter-5.1.1.tgz -C /usr/share/
解压到指定文件夹下 - 输入:tar zxvf 文件名.tgz -C /指定路径
如果问题解决了,还望点赞一下下哦~