/ usr / libexec / java_home通过JDK过滤

时间:2019-05-12 14:12:30

标签: java bash macos

在我的MacOS中,我正在使用类似下面的内容在我的

上设置Java。
setJava() {
    version=$@
    echo "Setting JAVA to " $version
    export JAVA_HOME=$(/usr/libexec/java_home -v $version)
    echo "JAVA_HOME:" $JAVA_HOME
    java -version
}

这很好,但是我想实现的是选择JDK,而不是选择版本,而是选择JVM发行版本身,例如Zulu,OpenJDK,Graal等。

如果我跑步

/usr/libexec/java_home -V

我得到了

Matching Java Virtual Machines (4):
    12.0.1, x86_64: "AdoptOpenJDK 12"   /Library/Java/JavaVirtualMachines/adoptopenjdk-12.jdk/Contents/Home
    1.8.0_212, x86_64:  "GraalVM CE 19.0.0" /Library/Java/JavaVirtualMachines/graalvm-ce-19.0.0/Contents/Home
    1.8.0_163-zulu-8.28.0.1, x86_64:    "Zulu 8"    /Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home
    1.8.0_161, x86_64:  "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_161.jdk/Contents/Home

是否有任何方法可以对上述脚本进行参数化,以便/ usr / libexec / java_home返回我要使用的JDK的JDK?

0 个答案:

没有答案