zoukankan      html  css  js  c++  java
  • 确定java 环境正常 ,启动jmeter 报 Not able to find Java executable or version. Please check your Java installation。

    from:https://zhuanlan.zhihu.com/p/29676788

    错误信息为:

    开始怀疑是环境变量JAVA_HOME和Path变量的配置问题,但是在cmd中输入:

    java -version

    javac -version

    都是可以正常显示的。

    不得已,右键编辑,使用记事本打开jmeter的启动脚本jmeter.bat,发现里面有以下代码:

    for /f "tokens=3" %%g in ('java -version 2^>^&1 ^| findstr /i "version"') do (
        rem @echo Debug Output: %%g
        set JAVAVER=%%g
    )
    if not defined JAVAVER (
        @echo Not able to find Java executable or version. Please check your Java installation.
        set ERRORLEVEL=2
        goto pause
    )

    逻辑非常简单,就是发现没有定义变量JAVAVER的时候就会抛出错误。

    而JAVAVER变量是在上方通过bat命令获取的,最后定义了set JAVAVER=%%g。

    显然是以下代码在运行时出现了错误,导致语句执行失败。

    for /f "tokens=3" %%g in ('java -version 2^>^&1 ^| findstr /i "version"') do (
        rem @echo Debug Output: %%g
        set JAVAVER=%%g
    )

    而这段代码的作用就是将java -version 2^>^&1 ^| findstr /i "version"'的包含version的行的第三个值赋值给变量JAVAVER。

    考虑到不同的朋友的系统本身的设置问题,我没有去深入研究系统层面对脚本执行的影响,就当前问题而言,解决方案为:

    在java正常的情况下,希望能够使用jmeter,只需要在检测JAVAVER变量之前,手动设置JAVAVER变量即可。

    代码如下:

    for /f "tokens=3" %%g in ('java -version 2^>^&1 ^| findstr /i "version"') do (
        rem @echo Debug Output: %%g
        set JAVAVER=%%g
    )
    set JAVAVER=1.8.0_131
    if not defined JAVAVER (
        @echo Not able to find Java executable or version. Please check your Java installation.
        set ERRORLEVEL=2
        goto pause
    )

    其中:set JAVAVER=1.8.0_131,这个1.8.0_131根据实际的java -version获取的值来填写。

    然后保存,就会发现Jmeter.bat可以运行啦。

  • 相关阅读:
    Delphi异常处理try except语句和try finally语句用法以及区别
    test
    Infopath resource
    C# IDE
    操作数据库
    不同版本数据库的导入
    workflow for sharepoint 2007
    http://www.cnblogs.com/BearStudyHard/archive/2008/03/26/1123267.html
    深入浅出InfoPath——安装VSTO
    如何使用Lotuscript管理Excel中的工作表?
  • 原文地址:https://www.cnblogs.com/yanhuidj/p/11052406.html
Copyright © 2011-2022 走看看