![](/img/trans.png)
[英]Where can I find the "full path to java binary" on linux server?
[英]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/
其他一些子目錄(以及其他實現,我認為)。
對於任何給定的包,您可以通過查詢 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.