GNU/Linux >> Belajar Linux >  >> Linux

Temukan JAVA_HOME dan atur di RHEL

readlink perintah akan menunjukkan kepada Anda path lengkap dari tautan simbolik:

readlink -f `which java`

Hal terbaik yang dapat Anda lakukan adalah menghindari java Red Hat sama sekali.

Dapatkan java Anda dari Oracle dan letakkan di /opt.Kemudian buat saja symlink /opt/Java -> /opt/jdk-someversion, dan buat /etc/profile.d/Java.sh berisi

#!/bin/sh
export JAVA_HOME=/opt/java
export PATH=$JAVA_HOME/bin:$PATH

Kemudian, untuk mengubah java di seluruh sistem, cukup ubah symlink di opt.Untuk menggunakan beberapa versi java, gunakan skrip seperti di atas dengan JAVA_HOME yang sesuai.

Selanjutnya, skrip /sbin/service yang digunakan untuk menjalankan skrip /etc/init.d akan merobek variabel lingkungan - mengeksekusi env -i secara eksplisit. Jadi kucing jantan Anda tidak akan mendapatkan JAVA_HOME, Anda harus membuat setenv.sh di $CATALINA_BASE/bin.

Kelemahan dari pendekatan ini adalah Anda tidak mendapatkan pembaruan java dari Red Hat.


Pertama, coba echo $JAVA_HOME dari baris perintah. Sejak java sudah ada di jalur Anda, JAVA_HOME dapat diatur.

Apa cara terbaik untuk mengetahui direktori instalasi instalasi java saya

Menjalankan perintah which java akan mengarahkan Anda ke tempat java telah diinstal.

lalu setel JAVA_HOME

Anda dapat mengedit ~/.bashrc , ~/.bash_profile , atau /etc/profile untuk mengatur JAVA_HOME . Setting di ~/etc/profile akan menyetelnya ke seluruh sistem, dan ini mungkin bukan yang Anda inginkan. Katakanlah sebagai contoh output dari which java adalah /opt/jdk_1.7.0_25 , maka Anda tinggal menambahkan export JAVA_HOME=/opt/jdk_1.7.0_25 ke ~/.bashrc atau ~/.bash_profile lalu jalankan source ~/.bashrc (atau source ~/.bash_profile jika Anda mengaturnya di sana).

Perhatikan bahwa dalam hal ini, java ada di PATH tetapi dalam beberapa kasus Anda perlu menambahkan export PATH=$PATH:$JAVA_HOME/bin untuk menambahkan JAVA_HOME variabel ke PATH .


RHEL menggunakan subsistem alternatif untuk mengelola instalasi java. Anda dapat memasang beberapa versi java, tetapi hanya satu yang aktif dalam satu waktu.

Ini berarti menjalankan which java tidak memberikan informasi yang berguna. Outputnya akan sama tidak peduli instalasi java mana yang dipilih melalui alternatif. Menjalankan readlink -f $(which java) (seperti yang sudah disarankan di komentar lain) atau menggunakan alternatif pertanyaan alternatives --display java akan lebih baik.

Lihat contoh dari mesin RHEL 6 dengan OpenJDK terpasang (yang dikirimkan bersama RHEL):

[[email protected] ~]# which java
/usr/bin/java
[[email protected] ~]# readlink -f $(which java)
/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.79.x86_64/jre/bin/java
[[email protected] ~]# alternatives --display java | head -2
java - status is manual.
 link currently points to /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java

Perhatikan bahwa variabel lingkungan JAVA_HOME tidak ditentukan di mana pun secara default, Anda harus mendefinisikannya sendiri di .bashrc pengguna yang membutuhkannya.

Pada contoh sebelumnya, nilai yang benar dari JAVA_HOME akan menjadi /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.79.x86_64 .

Lihat detailnya di Instal dokumentasi OpenJDK, cari bagian "Opsional:Tetapkan variabel lingkungan JAVA_HOME".


Linux
  1. CentOS / RHEL :Cara mengetahui tanggal dan waktu pemasangan RPM

  2. Temukan dan salin file

  3. Temukan dan ganti nama direktori

  1. Temukan Pola Dan Pindahkan?

  2. Bagaimana Cara Mengatur Parameter Opsional??

  3. JAVA_HOME dan PATH sudah disetel tetapi Java -version masih menunjukkan yang lama

  1. fd – Alternatif Sederhana dan Cepat untuk Menemukan Perintah

  2. Keluar Dari Temukan Jika -exec Gagal?

  3. JAVA tidak ada di jalur meskipun JAVA_HOME disetel