无法在Linux VM中找到JDK

时间:2016-10-05 12:07:47

标签: java linux

我正在尝试找到JDK来设置jstatd,但我无法找到它。

当我输入java -version时,我收到以下回复

java version "1.8.0_101"
Java(TM) SE Runtime Environment (build 1.8.0_101-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode)

然后我尝试使用以下两个命令找到它:

  1. which java
  2. 回复:/usr/bin/java

    我尝试cd但我得到了-bash: cd: /usr/bin/java: Not a directory

    1. 然后我尝试了这个whereis java
      响应: java: /usr/bin/java /usr/bin/X11/java /usr/share/java /usr/share/man/man1/java.1.gz
    2. 我再次尝试cd。但仍然不是目录。 哪里可以安装?

3 个答案:

答案 0 :(得分:3)

您确定java二进制文件不是符号链接(可能是第二级)吗?我很确定它是。

只需在ls -l上运行/usr/bin/java并发现实际位置。

对我来说,最终的实际位置是/usr/lib/jvm/java-7-openjdk-amd64/

dmitry@dginzburg-win:~$ java -version
java version "1.7.0_101"
OpenJDK Runtime Environment (IcedTea 2.6.6) (7u101-2.6.6-0ubuntu0.14.04.1)
OpenJDK 64-Bit Server VM (build 24.95-b01, mixed mode)
dmitry@dginzburg-win:~$ which java
/usr/bin/java
dmitry@dginzburg-win:~$ ls -l /usr/bin/java
lrwxrwxrwx 1 root root 22 Aug  14 16:23 /usr/bin/java -> /etc/alternatives/java
dmitry@dginzburg-win:~$ ls -l /etc/alternatives/java
lrwxrwxrwx 1 root root 46 Aug  14 16:23 /etc/alternatives/java -> /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java
dmitry@dginzburg-win:~$ ls /usr/lib/jvm/java-7-openjdk-amd64/
bin  docs  jre  man

答案 1 :(得分:1)

/ usr / bin / java不是目录文件。您可以在下面找到最终位置java文件;

readlink -f $(which java); 

默认位置jdk通常位于/ usr / lib / jvm /

EG;我的配置是:

user@host:$ ls -alrt /usr/bin/java
lrwxrwxrwx 1 root root 22 Dec 19  2014 /usr/bin/java -> /etc/alternatives/java

/ usr / bin / java链接到/ etc / alternatives / java

user@host:$ ls -alrt /etc/alternatives/java
lrwxrwxrwx 1 root root 39 Jul  7  2015 /etc/alternatives/java -> /usr/lib/jvm/java-8-oracle/jre/bin/java

/ etc / alternatives / java链接到/ usr / lib / jvm / java-8-oracle / jre / bin / java

user@host:$/usr/lib/jvm/java-8-oracle/jre/bin$ ls -arlt /usr/lib/jvm/java-8-oracle/jre/bin/java
-rwxr-xr-x 1 root root 7734 Mar 27  2016 /usr/lib/jvm/java-8-oracle/jre/bin/java

第一个字母 - 在-rwxr-xr-x中表示此文件类型是文件而非目录。

答案 2 :(得分:1)

通常jdk&jsk和jre位于ls -la $(which java)#include <QGraphicsScene> 下。确实,做一个/** * @constructor * @this {Foo} * @param {string} baz A foo bar baz. */ function Foo(baz) { /** * A bar of Foo and something else too. * @param {string} barzipan A little something extra. * @return {string} You get back what you gave, and then some. * @function bar * @memberof {@link Foo} */ this.bar = function(barzipan) { return baz + barzipan; }; } ,它应该是一个指向真实二进制文件的符号链接(你可能不得不重复这个操作,通常如果有这个链接可能指向另一个链接的替代品)。