如何在命令提示符下比较Java版本?

如何在命令提示符下比较Java版本?,java,batch-file,playframework,cmd,command-prompt,Java,Batch File,Playframework,Cmd,Command Prompt,我不太熟悉命令提示符语法,但我学到了一些。请帮忙。我需要提供一个cmd脚本,首先检查现有的Java版本,因为我的应用程序需要jdk7。我的想法是,它只有在通过Java和Play所需版本时才会运行!如果没有,它将提示所需的版本,应用程序将不会运行。我正在尝试此cmd文件: @Echo off Echo Checking Java Version. if "javac -version" == "1.7.0_51" ( Echo JDK7 Found. Echo Checking P

我不太熟悉命令提示符语法,但我学到了一些。请帮忙。我需要提供一个cmd脚本,首先检查现有的Java版本,因为我的应用程序需要jdk7。我的想法是,它只有在通过Java和Play所需版本时才会运行!如果没有,它将提示所需的版本,应用程序将不会运行。我正在尝试此cmd文件:

@Echo off
Echo Checking Java Version.
if "javac -version" == "1.7.0_51" (
    Echo JDK7 Found.
    Echo Checking Play! Version.
    play
    if (%play-version% == "2.2.2") (
        Echo "Play! Framework Found."
            run
        )
    ELSE (
        Echo Play! Version 2.2.2 Required.
    )
) ELSE ( 
    Echo JDK 1.7 Required.
)

请帮忙。关于cmd代码,我真的没有什么想法。谢谢大家!

您可以尝试以下代码段。它只显示如何检查java版本。我对戏剧不熟悉。。您可以使用支持的JAVA版本在if条件下对播放版本进行必要的检查

if type -p java; then
    echo found java executable in PATH
   _java=java
fi
if [[ "$_java" ]]; then
    version=$("$_java" -version 2>&1 | awk -F '"' '/version/ {print $2}')
    echo version "$version"
    if [[ "$version" > "YOUR_SUPPORTED_JAVA_VERSION" ]]; then
       echo SUPPORTED_VERSION
    else
       echo NOT_SUPPORTED_VERSION
    fi
fi
可能重复的