在Linux系統上查詢Java SDK位置
概述
查詢軟體的安裝目錄是一個非常常見的操作。一個常見的原因是更新 PATH 環境變數。例如,Java 開發人員經常需要查詢 Java 的安裝目錄。本文介紹如何在 Linux 上查詢 JDK 的位置。此處描述的方法適用於這些作業系統的 32 位和 64 位版本。
JDK 包含許多程式設計師可以使用的工具。在本文中,我們將瞭解其中的一些工具。我們將從最基本的工具開始:java 命令。
Java 命令
java 命令是 Java 程式設計師可以使用最重要的命令之一。它允許您執行用 Java 程式語言編寫的程式。java 命令有兩個主要用途。首先,它允許您直接從命令列執行 Java 程式碼。其次,它提供了一種構建您自己的 Java 應用程式的簡便方法。
要使用 java 命令,請鍵入 java,後跟包含要執行的程式的類或包的名稱。例如,如果您在當前工作目錄中有一個名為 HelloWorld.java 的檔案,則可以執行以下命令來編譯和執行程式:
$ javac HelloWorld.java $ java HelloWorld
如果您在 java 命令後沒有指定任何引數,則使用預設的 JRE 版本。您還可以設定 JAVA_HOME 環境變數以指向不同的 JRE。
系統中的多個 Java 版本
在系統上使用多個 Java 版本時,您可能需要安裝其他版本的 Java 執行時環境 (JRE)。為此,必須使用 update-java-alternatives 命令。此命令更新指向 JRE 各個版本的符號連結。
例如,假設您在系統上安裝了三個版本的 JRE:1.5.0_10、1.6.0_20 和 1.7.0_25。如果您想使用最新版本的 JRE,您首先會刪除所有現有版本的 JRE:
$ sudo apt-get purge openjdk*
然後,您將建立一個指向最新版本 JRE 的新符號連結:
sudo ln -sf /usr/lib/jvm/java-1.7.0-openjdk-amd64/bin/java /usr/bin/java
最後,您將更新指向其他 JRE 版本的符號連結,以指向新建立的符號連結: sudo update-alternatives --config java
此過程可確保在呼叫 java 命令時始終選擇正確的 JRE 版本。
Java 開發工具包安裝目錄
JDK 包含多個元件,包括編譯器、開發庫和開發 Java 應用程式所需的工具。這些元件通常儲存在 JDK 安裝目錄下的子目錄中。在 Linux 上,JDK 安裝目錄通常位於 /usr/lib/java/。
請注意,JDK 安裝目錄可能會因您使用的發行版而異。例如,在 Ubuntu 10.04 LTS 上,JDK 位於 /usr/share/java/。
查詢 JDK 安裝目錄
有幾種方法可以在 Linux 上查詢 JDK 安裝目錄。最簡單的方法是檢查 /etc/profile 檔案的內容。/etc/profile 檔案包含有關使用者主目錄位置以及每個使用者帳戶的 JDK 安裝目錄位置的資訊。
使用 update-java-alternatives 命令
Update-Java-Alternatives 更新 Java 執行時和開發工具包的所有替代項。在搜尋 JDK 或 JVM 安裝目錄時,我們可以將其與 -l 引數一起使用:
$ update-java-alternatives -l java-1.14.0-openjdk-amd64 1411 /usr/lib/jvm/java-1.14.0-openjdk-amd64
使用 update-alternatives 命令
update-alternatives 工具維護符號連結以確定在未指定特定程式時系統使用哪些程式。您可以將 -jar 命令列選項與 -list 選項結合使用以列出 Java SDK 或 JRE 的位置。
$ update-alternatives --list java /usr/lib/jvm/java-14-openjdk-amd64/bin/java
使用which 和 readlink 命令
which 命令顯示檔案的完整路徑,readlink 命令解決符號連結。我們可以結合使用這些命令來分別查詢 JDK 和 JRE 的位置:
$ readlink -f $(which javac) /usr/lib/jvm/java-14-openjdk-amd64/bin/javac $ readlink -f $(which java) /usr/lib/jvm/java-14-openjdk-amd64/bin/java
如果您使用 -f 選項,它將以遞迴方式跟蹤每個符號連結。
結論
我們已經介紹了幾種查詢 Java 位置的不同方法。在使用 Linux 作業系統時,我們可以在日常生活中使用這些命令列工具。
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP