Jmeter启动报错找不到KeyTool插件

来源:互联网 发布:实况8李惠堂数据 编辑:程序博客网 时间:2024/05/21 07:54

之前换电脑后安装jmeter,启动后有如下报错,度娘了好多地方,最后终于解决,现将解决方法记录如下:

2017-04-28 03:44:11,571 ERROR o.a.j.e.KeyToolUtils: Exception checking for keytool existence, will return false


java.io.IOException: Cannot run program "keytool": CreateProcess error=2, The system cannot find the file specified
 
    at java.lang.ProcessBuilder.start(Unknown Source) ~[?:1.8.0_73]
 
    at org.apache.jorphan.exec.SystemCommand.run(SystemCommand.java:142) ~[jorphan.jar:3.2 r1790748]
 
    at org.apache.jorphan.exec.SystemCommand.run(SystemCommand.java:125) ~[jorphan.jar:3.2 r1790748]
 
    at org.apache.jorphan.exec.KeyToolUtils.checkKeytool(KeyToolUtils.java:436) ~[jorphan.jar:3.2 r1790748]
 
    at org.apache.jorphan.exec.KeyToolUtils.<clinit>(KeyToolUtils.java:94) ~[jorphan.jar:3.2 r1790748]
 
    at org.apache.jmeter.protocol.http.proxy.ProxyControl.<clinit>(ProxyControl.java:248) ~[ApacheJMeter_http.jar:3.2 r1790748]
 
    at org.apache.jmeter.protocol.http.proxy.gui.ProxyControlGui.createPortPanel(ProxyControlGui.java:708) ~[ApacheJMeter_http.jar:3.2 r1790748]
 
    at org.apache.jmeter.protocol.http.proxy.gui.ProxyControlGui.init(ProxyControlGui.java:664) ~[ApacheJMeter_http.jar:3.2 r1790748]
 
    at org.apache.jmeter.protocol.http.proxy.gui.ProxyControlGui.<init>(ProxyControlGui.java:239) ~[ApacheJMeter_http.jar:3.2 r1790748]
 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_73]
 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) ~[?:1.8.0_73]
 
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) ~[?:1.8.0_73]
 
    at java.lang.reflect.Constructor.newInstance(Unknown Source) ~[?:1.8.0_73]
 
    at java.lang.Class.newInstance(Unknown Source) ~[?:1.8.0_73]
 
    at org.apache.jmeter.gui.util.MenuFactory.initializeMenus(MenuFactory.java:505) ~[ApacheJMeter_core.jar:3.2 r1790748]
 
    at org.apache.jmeter.gui.util.MenuFactory.<clinit>(MenuFactory.java:169) ~[ApacheJMeter_core.jar:3.2 r1790748]
 
    at org.apache.jmeter.control.gui.TestPlanGui.createPopupMenu(TestPlanGui.java:93) ~[ApacheJMeter_core.jar:3.2 r1790748]
 
    at org.apache.jmeter.gui.tree.JMeterTreeNode.createPopupMenu(JMeterTreeNode.java:156) ~[ApacheJMeter_core.jar:3.2 r1790748]
 
    at org.apache.jmeter.gui.action.EditCommand.doAction(EditCommand.java:46) ~[ApacheJMeter_core.jar:3.2 r1790748]
 
    at org.apache.jmeter.gui.action.ActionRouter.performAction(ActionRouter.java:74) ~[ApacheJMeter_core.jar:3.2 r1790748]
 
    at org.apache.jmeter.gui.action.ActionRouter.lambda$actionPerformed$0(ActionRouter.java:59) ~[ApacheJMeter_core.jar:3.2 r1790748]
 
    at java.awt.event.InvocationEvent.dispatch(Unknown Source) [?:1.8.0_73]
 
    at java.awt.EventQueue.dispatchEventImpl(Unknown Source) [?:1.8.0_73]
 
    at java.awt.EventQueue.access$500(Unknown Source) [?:1.8.0_73]
 
    at java.awt.EventQueue$3.run(Unknown Source) [?:1.8.0_73]
 
    at java.awt.EventQueue$3.run(Unknown Source) [?:1.8.0_73]
 
    at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_73]
 
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) [?:1.8.0_73]
 
    at java.awt.EventQueue.dispatchEvent(Unknown Source) [?:1.8.0_73]
 
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) [?:1.8.0_73]
 
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) [?:1.8.0_73]
 
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) [?:1.8.0_73]
 
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source) [?:1.8.0_73]
 
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source) [?:1.8.0_73]
 
    at java.awt.EventDispatchThread.run(Unknown Source) [?:1.8.0_73]
C
Caused by: java.io.IOException: CreateProcess error=2, The system cannot find the file specified
 
    at java.lang.ProcessImpl.create(Native Method) ~[?:1.8.0_73]
 
    at java.lang.ProcessImpl.<init>(Unknown Source) ~[?:1.8.0_73]
 
    at java.lang.ProcessImpl.start(Unknown Source) ~[?:1.8.0_73]
 
    ... 35 more
2
2017-04-28 03:44:14,937 INFO o.a.j.e.KeyToolUtils: keytool found at 'C:\Program Files\Java\jre1.8.0_73\bin\keytool'
2
2017-04-28 03:44:14,938 INFO o.a.j.p.h.p.ProxyControl: HTTP(S) Test Script Recorder SSL Proxy will use keys that support embedded 3rd party resources in file D:\Jmeter\apache-jmeter-3.2\bin\proxyserver.jks
2
2017-04-28 03:44:15,997 INFO o.a.j.g.u.MenuFactory: Skipping org.apache.jmeter.protocol.java.sampler.BSFSampler
2
2017-04-28 03:44:16,117 INFO o.a.j.s.FileServer: Default base='D:\Jmeter\apache-jmeter-3.2\bin'
2
2017-04-28 03:44:16,852 INFO o.a.j.g.u.MenuFactory: Skipping org.apache.jmeter.protocol.mongodb.config.MongoSourceElement
2
2017-04-28 03:44:16,854 INFO o.a.j.g.u.MenuFactory: Skipping org.apache.jmeter.protocol.mongodb.sampler.MongoScriptSampler
2
2017-04-28 03:44:20,136 INFO o.a.j.g.u.MenuFactory: Skipping org.apache.jmeter.timers.BSFTimer
2
2017-04-28 03:44:20,265 INFO o.a.j.g.u.MenuFactory: Skipping org.apache.jmeter.visualizers.BSFListener
2
2017-04-28 03:44:20,922 INFO o.a.j.s.SampleResult: Note: Sample TimeStamps are START times
2
2017-04-28 03:44:20,923 INFO o.a.j.s.SampleResult: sampleresult.default.encoding is set to ISO-8859-1
2
2017-04-28 03:44:20,923 INFO o.a.j.s.SampleResult: sampleresult.useNanoTime=true
2
2017-04-28 03:44:20,924 INFO o.a.j.s.SampleResult: sampleresult.nanoThreadSleep=5000


解决办法:
通过echo %PATH% 查看环境变量
C:\ProgramData\Oracle\Java\javapath;"%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin";
Notice the literal value %JAVA_HOME%\bin. This is caused by:
'PATH' contains reference of other variable
'PATH' is modified without evaluation (e.g. by program)
Solution
Open the environment setting box
Do some modification of the value of PATH (trigger the expansion of variables)(修改环境变量,path中直接设置JAVA的绝对路径,如C:\Program Files\Java\jre1.8.0_73\bin)
再次查看环境变量设置
就能识别JAVA的绝对路径C:\Program Files\Java\jre1.8.0_73\bin;C:\ProgramData\Oracle\Java\javapath;C:\Program Files (x86)\Common Files\NetSarang
原创粉丝点击