Я установил JDK с помощью apt-get install, но я не знаю, где находится моя папка jdk. Мне нужно установить путь для этого. У кого-нибудь есть подсказка о местоположении?
/usr/local/java/
для оригинальных загруженных дистрибутивов Oracle.
Я установил JDK с помощью apt-get install, но я не знаю, где находится моя папка jdk. Мне нужно установить путь для этого. У кого-нибудь есть подсказка о местоположении?
/usr/local/java/
для оригинальных загруженных дистрибутивов Oracle.
Ответы:
Это немного зависит от вашей системы пакетов ... если java
команда работает, вы можете ввести readlink -f $(which java)
местоположение команды java. В системе OpenSUSE, в которой я сейчас нахожусь, она возвращается /usr/lib64/jvm/java-1.6.0-openjdk-1.6.0/jre/bin/java
(но это не та система, которая использует apt-get
).
В Ubuntu это выглядит так, как будто это /usr/lib/jvm/java-6-openjdk/
для OpenJDK, а также в каком-то другом подкаталоге /usr/lib/jvm/
для Suns JDK (и, думаю, других реализаций).
Для любого данного пакета вы можете определить, какие файлы он устанавливает и куда он их устанавливает, выполнив запрос к dpkg. Например, для пакета «openjdk-6-jdk»:dpkg -L openjdk-6-jdk
/usr/lib/jvm/java-7-openjdk-amd64
.
readlink -f $(which javac)
- обратите внимание на 'c' на случай, если на одной и той же машине есть странное сочетание JDK и JRE. JDK включает в себя компилятор (javac), а JRE - нет. Однако, если путь неверен, это не удастся, и вы можете попробовать это: find /usr/java -wholename '*ava/jdk*' -prune
как я заметил в комментарии ниже.
update-java-alternatives -l
скажет вам, какая реализация Java по умолчанию для вашей системы и где в файловой системе она установлена. Проверьте руководство для большего количества вариантов.
apt-get
и дистрибутив будут Debian 2.6.26
. AFAIK, он должен быть одинаковым для всех производных Debian.
$ which java
должен дать вам что-то вроде
/usr/bin/java
readlink -f $(which javac)
она печатает /usr/lib/jvm/java-8-oracle/bin/javac
. Эта папка не является JDK. Общий кислотно-щелочной тест, чтобы увидеть, является ли JDK проверкой, $JAVA_HOME
содержит ли ток путь lib/tools.jar
. В актерском составе /usr/lib/jvm/java-8-oracle/bin
это не так, поэтому это не JDK.
find /usr/java -wholename '*ava/jdk*' -prune
но поведение зависит от того, говорите ли вы об OpenJDK или Oracle Java и как он был установлен в первую очередь.
Этот вопрос будет перенесен, но вы можете сделать следующее
which javac
или
cd /
find . -name 'javac'
Используйте найти, чтобы найти его. Должно быть /usr
где-то под :
find /usr -name java
Если при запуске команды слишком много сообщений «Отказано в доступе», которые затемняют фактические найденные результаты, просто перенаправьте stderr в / dev / null
find /usr -name java 2> /dev/null
Другой лучший способ найти путь к папке Java - использовать alternatives
команду в Fedora Linux (я знаю, что это для Ubuntu, но я попал в этот пост из Google только по заголовку). Просто хочу поделиться тем, как люди, как я, ищут ответы на вкус Fedora.
Для отображения всей информации о Java
alternatives --display java
Трехэтапный процесс: во-первых: откройте терминал-> $ 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
Просто попробуйте:
Это / usr / local / java / jdk [версия]
Этот вопрос все еще кажется актуальным, и ответ, кажется, движущаяся цель.
В моей системе 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