簡體   English   中英

安裝后在 Linux 中哪里可以找到 Java SDK?

[英]Where can I find the Java SDK in Linux after installing it?

我使用 apt-get install 安裝了 JDK,但我不知道我的 jdk 文件夾在哪里。 我需要為此設置路徑。 有沒有人知道地點的線索?

這有點取決於您的包系統……如果java命令有效,您可以鍵入readlink -f $(which java)來查找 java 命令的位置。 在我現在使用的 OpenSUSE 系統上,它返回/usr/lib64/jvm/java-1.6.0-openjdk-1.6.0/jre/bin/java (但這不是使用apt-get )。


在 Ubuntu 上,它看起來像是OpenJDK 的/usr/lib/jvm/java-6-openjdk/ ,以及 Suns JDK 的/usr/lib/jvm/其他一些子目錄(以及其他實現,我認為)。

Debian 也是一樣。


對於任何給定的包,您可以通過查詢 dpkg 來確定它安裝的文件以及安裝它們的位置。 例如對於包“openjdk-6-jdk”: dpkg -L openjdk-6-jdk

update-java-alternatives -l

會告訴你哪個 java 實現是你的系統的默認實現以及它安裝在文件系統的哪個位置。 查看手冊以獲取更多選項。

$ which java 

應該給你類似的東西

/usr/bin/java

這個問題會被移動,但你可以做以下事情

which javac

或者

cd /
find . -name 'javac'

使用 find 來定位它。 它應該在/usr某個地方:

find /usr -name java

運行命令時,如果有太多“權限被拒絕”消息混淆了實際找到的結果,只需將 stderr 重定向到 /dev/null

find /usr -name java 2> /dev/null

查找 Java 文件夾路徑的另一種最佳方法是在 Fedora Linux 中使用alternatives命令(我知道它適用於 Ubuntu,但我只是通過標題從 google 找到了這篇文章)。 只是想分享一下,以防像我這樣的人正在尋找軟呢帽風味的答案。

顯示有關java的所有信息

alternatives --display java

很簡單,試試看:

它是/ usr/local/java/jdk[版本]

三步過程:首先:打開終端-> $ whereis java它會給出這樣的輸出: java: /usr/bin/java /usr/share/java /usr/share/man/man1/java.1.gz

第二個: ls -l /usr/bin/java它會給出這樣的輸出: lrwxrwxrwx 1 root root 22 Feb 9 10:59 /usr/bin/java -> /etc/alternatives/java

第三: ls -l /etc/alternatives/java輸出的是JDK路徑: lrwxrwxrwx 1 root root 46 Feb 9 10:59 /etc/alternatives/java -> /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java

命令: sudo update-alternatives --config java將找到所有已安裝 Java 版本的完整路徑

這個問題似乎仍然相關,答案似乎是一個移動的目標。

在我的 debian 系統 (buster) 上:

> update-java-alternatives -l
java-1.11.0-openjdk-amd64      1111       /usr/lib/jvm/java-1.11.0-openjdk-amd64

然而,如果你真的去那里看看,你會看到包系統放置了多個目錄和符號鏈接,以簡化未來的維護。

實際目錄是java-11-openjdk-amd64 ,另一個符號鏈接是default-java 還有一個openjdk-11目錄,但它似乎只包含一個 source.zip 文件。

鑒於此,僅對於 Debian,我猜想使用的最佳值是/usr/lib/jvm/default-java ,因為這應該始終有效,即使您決定安裝完全不同版本的 java,甚至切換供應商。

想要知道路徑的正常原因是因為某些應用程序需要它,並且您可能不希望該應用程序中斷,因為您進行了更改版本號的升級。

在 OpenSUSE 13.1/13.2 上: /usr/lib64/jvm/java-1.6.0-openjdk-(version-number)
版本號可以是 1.7.x 1.8.x 等。檢查您安裝的軟件管理器版本...

安德烈

在 Linux Fedora30 上,有幾個完整的 Java JDK 版本可用,特別是包名:

java-1.8.0-openjdk-devel.x86_64 
java-11-openjdk-devel.x86_64

安裝后,它們位於: /usr/lib/jvm

要選擇完整開發 JDK 的位置/目錄(不同於更簡單的僅運行時 JRE),請查找條目:

ls -ld java*openjdk*

這里有兩個不錯的選擇,它們是特定版本的鏈接,您必須在其中選擇版本:

/usr/lib/jvm/java-1.8.0-openjdk
/usr/lib/jvm/java-11-openjdk

這是對我有用的最佳方法執行此命令:-

$(dirname $(readlink $(which javac)))/java_home

下面的命令在我的debain 10盒子中工作!

root@debian:/home/arun# readlink -f $(which java)
/usr/lib/jvm/java-11-openjdk-amd64/bin/java

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM