Shell

哪個 shell 命令返回 Java 的主路徑?

  • April 13, 2022

我知道which命令,但是當我在 Java 上執行它時,我得到以下路徑:

$ which java
/bin/java

我想,我正在尋找的是當我執行以下 Maven 命令時得到的 Java 路徑:

$ mvn -version
Apache Maven 3.6.3
Java version: 11.0.14.1, vendor: Ubuntu, runtime: /usr/lib/jvm/java-11-openjdk-amd64
Default locale: en, platform encoding: UTF-8
OS name: "linux", version: "5.13.0-1021-aws", arch: "amd64", family: "unix"

後者 (/usr/lib/jvm/java-11-openjdk-amd64) 不是正確的 Java 主路徑嗎?如果是這樣,哪個命令會直接返回它?

執行java version命令不會返回任何路徑。

readlink -f /bin/java將一直跟踪符號連結到實際的執行檔。你得到的結果將是某種形式/usr/lib/jvm/java-11-openjdk-amd64/bin/java。省略/bin/java末尾部分以獲取 JDK/JRE 主路徑。

引用自:https://unix.stackexchange.com/questions/698950