#java #linux
#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)
Затем я попытался найти его, используя следующие 2 команды:
which java
Ответ: /usr/bin/java
Я пытался cd
это сделать, но я получаю -bash: cd: /usr/bin/java: Not a directory
- Затем я попробовал это
whereis java
Ответ:java: /usr/bin/java /usr/bin/X11/java /usr/share/java /usr/share/man/man1/java.1.gz
Я снова попытался записать его на компакт-диск. Но все еще не каталог. Где он может быть установлен?
Комментарии:
1. После ответов вы сказали, что нашли его в /usr/lib/jvm. Вот где находится JVM; вы спрашиваете о JDK. Вы должны сделать
which javac
.2. @Klitos Kyriacou Да, я тоже подумал то же самое. Поэтому я никогда не проверял
jvm
каталог. Но я нашел JDK внутриjvm
каталога.
Ответ №1:
Вы уверены 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. Да. Я нашел его в /usr/lib/jvm/ . Спасибо!
Ответ №2:
Обычно jdk и jre находятся под /usr/lib/java
или /usr/lib/jvm
. Чтобы быть уверенным, выполните an ls -la $(which java)
, это должна быть символическая ссылка, указывающая на реальный двоичный файл (возможно, вам придется повторить эту операцию, обычно, если есть альтернативы, эта ссылка может указывать на другую ссылку).
Комментарии:
1. Спасибо! Нашел его в / usr/lib/jvm . Я не знал, что он тоже может быть там.
Ответ №3:
/usr/bin/java не является файлом каталога. Вы можете найти файл конечного местоположения java, как показано ниже;
readlink -f $(which java);
расположение jdk по умолчанию обычно находится в /usr/lib/jvm/
Например; моя конфигурация :
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 означает, что этот тип файла — file, а не directory .
Комментарии:
1.
/etc/alternatives/java
это еще одна символическая ссылка, она должна указывать на реальную.