Як знайти шлях, де встановлено jdk?


34

Я встановив jdk1.7.0.rpmпакет в RHEL6.
Де я знаходжу шлях для виконання своєї першої програми java?


2
Можливий дублікат 18472
sakisk

2
Привіт, Мухаммеде. Це не дурне питання, а таке, на яке вже відповіли в декількох місцях - на кшталт цього чи цього питання .
rozcietrzewiacz

Просто PS: на MacOS Java зазвичай встановлюється за адресою '/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home', де номер версії може бути різним.
Даніель Ван

Відповіді:


48

Спробуйте будь-яке з двох:

$ яка ява

$ де ява

Для вашої першої програми java прочитайте цей підручник:

"Привіт Світ!" для Solaris OS та Linux


Зверніть увагу, що ці команди дають різні результати. Якщо вас цікавить несимвольний шлях, використовуйте те, що java.
P.Brian.Mackey

Я не думаю, що це відповідає на питання. javaДвійковий встановлюються з JRE, але якщо ви розробляєте вам потрібен JDK, який не обов'язково встановлений в which java(в моєму випадку це / USR / BIN).
Тім С.

12

Ви можете перелічити встановлені файли за допомогою

rpm -ql packagename

Ви десь побачите binкаталог ізjava executable

Але якщо JDK RPM був правильно встановлений, ви вже повинні знайти javaв собі шлях.

Спробуйте

javac MyFirstJavaClass.java

і якщо все складається

java MyFirstClass

(Якщо ви нічого не змінили, поточний каталог .вже повинен бути на шляху вашого класу)


Це має бути прийнятою відповіддю ІМО.
Тім С.

8

Оскільки це питання RPM конкретно, rpmце спосіб , щоб почати роботу (як відповів на @Matteo ).

rpm прапори

-q is short for --query
-l is short for --list

Приклад

rpm -ql jdk1.8.0_20 | grep "jdk1.8.0_20/bin$"
/usr/java/jdk1.8.0_20/bin

Знаючи це, можливо, буде бажано встановити $JAVA_HOMEзмінну користувача чи програми . Це часто буває необхідно , коли система має кілька версій Java , встановлені або кілька дистрибутивів Java встановлені, такі як OpenJDK і Oracle / Sun .

$JAVA_HOME Приклад

В ~/.bash_profileабо зв'язаних файлів ( .bashrc, .zshrc, .cshrc, setenv.sh), може бути використано що - щось схоже на нижче.

JAVA_HOME='/usr/java/jdk1.8.0_20'
export JAVA_HOME
PATH="$JAVA_HOME/bin:$PATH"
export PATH

Якщо ви хочете більше контролювати те, де встановлюється Java, наприклад в /opt, тоді замість файлу RPM можна використовувати тарбол.


Інші подібні запитання - це питання про те, як знайти будь-який бінарний файл або файл у загальному випадку.


Взагалі, я настійно рекомендую використовувати пакет mlocate для пошуку речей у файловій системі Linux на базі Red Hat.
Кевін

7

На RHEL7 я користувався

locate openjdk

і це привело мене до /usr/lib/jvm/каталогу, який містив каталоги:

java-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64/
jre/
jre-1.8.0/
jre-1.8.0-openjdk/
jre-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64/
jre-openjdk/

Кожен із них містить a bin/java

Щоб знайти повний шлях символічного посилання, використовуйте:

readlink -f $(which java)

* Кредит: відповідь на переповнення стека

** Примітка. Я відповідаю тут, оскільки це був перший результат в Google


Це дало мені здебільшого JDK6, хоча java -versionя дав 1,8. На папку JDK8 біля верху було одне посилання.
Номенон
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.