Cara set JAVA_HOME di Linux untuk semua pengguna

Saya baru ke sistem Linux dan tampaknya ada terlalu banyak Java folder.

jawa -versi memberi saya:

jawa - versi "1.7.0_55"

  • OpenJDK Runtime Environment (rhel-2.4.7.1.el6_5-x86_64 u55-b13)
  • OpenJDK 64-Bit Server VM (build 24.51-b03, mixed mode)

Ketika saya mencoba untuk membangun sebuah proyek Maven , saya mendapatkan error:

Error: JAVA_HOME is not defined correctly.
We cannot execute /usr/java/jdk1.7.0_05/bin/java

Bisa anda jelaskan file yang saya butuhkan untuk memodifikasi untuk akar serta tidak-root user dan di mana tepatnya adalah jawa terletak?

Larutan
  1. find /usr/lib/jvm/java-1.x.x-openjdk
  2. vim /etc/profile

Tambahkan sudo jika login sebagai tidak-pengguna istimewa, yaitu. sudo vim 3. Tekan 'i' untuk masuk ke mode insert 4. tambahkan:

export JAVA_HOME="jalan yang ditemukan"

export PATH=$JAVA_HOME/bin:$PATH 5. logout dan login lagi, reboot, atau menggunakan sumber /etc/profile untuk menerapkan perubahan ini segera dan anda saat ini shell

Komentar (13)

Untuk semua pengguna, saya akan merekomendasikan menempatkan baris berikut di /etc/profile

export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::")

Ini akan update secara dinamis dan bekerja dengan baik dengan alternatif sistem. Apakah dicatat bahwa meskipun pembaruan hanya akan mengambil tempat di new login shell.

Komentar (5)

Anda bisa menggunakan /etc/profile atau lebih file seperti /etc/profile.d/jdk_home.sh

export JAVA_HOME=/usr/java/jdk1.7.0_05/

Anda harus ingat bahwa file ini hanya sarat dengan login baru kerang.. Jadi setelah bash -l atau baru gnome-session dan bahwa hal itu doesn't berubah dengan Java versi baru.

Komentar (5)

Tidak ada jawaban lain yang "menempel" bagi saya di RHEL 7, bahkan pengaturan JAVA_HOME dan PATH langsung di /etc/profile atau ~/.bash_profile tidak akan bekerja. Setiap kali saya mencoba untuk memeriksa apakah JAVA_HOME ditetapkan, itu akan datang kosong:


$ echo $JAVA_HOME
    (
Komentar (3)

It's Sangat mudah untuk mengatur jalan di Linux . Lakukan sebagai berikut :

Langkah-1 Buka terminal dan ketik sudo gedit .bashrc

Langkah-2 Ini akan meminta password anda . Setelah mengetik password ,maka akan membuka file bash . Kemudian pergi ke akhir dan tipe di bawah ini

langkah-3

   export JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64/"
   export PATH=$PATH:$JAVA_HOME/bin

langkah-4 Kemudian simpan file dan keluar dari file

Di atas adalah untuk satu pengguna. Untuk semua pengguna, anda harus mengikuti langkah-langkah di bawah ini

Langkah-1 gedit /etc/profile

Langkah-2 export JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64/"

Langkah-3 export PATH=$PATH:$JAVA_HOME/bin

Semoga ini bisa membantu. Terima kasih!!!

Komentar (3)

Melakukan apa yang Oracle tidak (sebagai mantan Matahari Karyawan saya dapat't mendapatkan digunakan untuk itu salah satu)

ln-s latestJavaRelease /usr/java/default Di mana latestJavaRelease adalah versi yang ingin anda gunakan

kemudian export JAVA_HOME=/usr/java/default

Komentar (0)

Jawabannya diberikan posting sebelumnya adalah valid. Tapi tidak satu jawaban yang lengkap sehubungan dengan:

  1. Mengubah /etc/profile tidak dianjurkan hanya karena alasan (seperti yang dinyatakan di /etc/profile):
  • It's BUKAN ide yang baik untuk mengubah file ini kecuali anda tahu apa yang anda lakukan. It's jauh lebih baik untuk membuat custom.sh shell script di /etc/profile.d/ untuk membuat custom perubahan untuk lingkungan anda, seperti ini akan mencegah kebutuhan untuk penggabungan di masa depan pembaruan.*
  1. Jadi seperti yang dinyatakan di atas membuat /etc/profile.d/custom.sh file untuk perubahan kebiasaan.

  2. Sekarang, untuk selalu menjaga diperbarui dengan versi yang lebih baru dari Java yang diinstal, tidak pernah menempatkan path absolut, bukan menggunakan:

jika membuat jdk seperti rumah jawa

export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::")

ATAU

jika membuat jre sebagai rumah jawa

export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:/bin/java::")

  1. Dan ingat untuk memiliki #! /bin/bash pada custom.sh file
Komentar (0)

Copy bin file path anda diinstal

YOUR PATH

buka terminal dan edit lingkungan file dengan mengetikkan perintah berikut,

sudo nano /etc/environment

Dalam file ini, tambahkan baris berikut (menggantikan YOUR_PATH oleh hanya disalin jalan):

JAVA_HOME="YOUR_PATH"

Itu harus cukup untuk mengatur variabel lingkungan. Sekarang reload file ini:

source /etc/environment

sekarang mengujinya dengan menjalankan:

echo $JAVA_HOME
Komentar (1)

Di Linux saya menambahkan baris ini ke ~/.profil:

export JAVA_HOME=$(readlink -ze /usr/bin/javac | xargs -0 dirname -z | xargs -0 dirname)
Komentar (1)

Langkah 1 - check saat ini versi java oleh "echo $JAVA_HOME"

Langkah 2 - vim /etc/profile

Langkah 3 - Di akhir dari file yang anda akan menemukan export JAVA_HOME, kita perlu untuk memberikan jalan baru di sini, pastikan bahwa itu tidak relatif.

Langkah 4 - Simpan dan keluar :wq

Langkah 5 - "source /etc/profile/", ini akan melaksanakan perubahan

Langkah 6 - Lagi melakukan echo $JAVA_HOME - perubahan akan tercermin.

Komentar (0)

Mungkin ide yang baik untuk sumber apapun profil anda edit untuk menyimpan harus menggunakan login segar.

baik: sumber /etc/ atau . /etc/

Mana adalah dengan profil anda diedit.

Komentar (0)

Sementara kita hingga setting JAVA_HOME, biarkan saya berbagi beberapa manfaat dari setting JAVA_HOME atau variabel lingkungan:

  1. It's mudah untuk meng-upgrade JDK tanpa mempengaruhi startup aplikasi dan file konfigurasi yang menunjuk ke JAVA_HOME. anda hanya perlu men-download versi baru dan pastikan anda JAVA_HOME poin untuk versi baru dari Jawa. Ini adalah yang terbaik mendapatkan keuntungan dari menggunakan variabel lingkungan atau link.

  2. variabel JAVA_HOME pendek dan ringkas bukan full path ke direktori instalasi JDK.

  3. variabel JAVA_HOME adalah platform kemerdekaan yaitu jika anda menggunakan skrip startup JAVA_HOME maka hal ini dapat berjalan pada Windows dan UNIX tanpa modifikasi apapun, anda hanya perlu set JAVA_HOME pada masing-masing sistem operasi.

Baca lebih lanjut: http://javarevisited.blogspot.com/2012/02/how-to-set-javahome-environment-in.html#ixzz4BWmaYIjH

Komentar (0)

Ini adalah script sederhana untuk memecahkan masalah

export JAVA_HOME_BIN=`which java`
export JAVA_HOME_DIR=`dirname $JAVA_HOME_BIN`
export JAVA_HOME=`dirname $JAVA_HOME_DIR`

Dan untuk pengujian:

echo $JAVA_HOME
Komentar (0)

Postingan ini sebagai jawaban, karena saya don't memiliki hak istimewa untuk komentar.

Titik untuk catatan: ikuti jawaban yang diterima diposting oleh "Bahwa Dave Pria".

Setelah pengaturan variabel-variabel, pastikan anda mengatur izin yang sesuai untuk java direktori di mana ia's diinstal.

chmod -R 755 /usr/java
Komentar (0)

Cukup tambahkan perintah ini untuk anda dockerfile

RUN echo "JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")" | tee -a /etc/profile && source /etc/profile && echo $JAVA_HOME
Komentar (0)

1...dengan Menggunakan short cut Ctlr + Alt + T untuk membuka terminal

2...Jalankan perintah di bawah ini:

echo export JAVA_HOME='$(readlink -f /usr/bin/javac | sed "s:/bin/javac::")' | sudo tee /etc/profile.d/jdk_home.sh > /dev/null

3...(Dianjurkan) anda me-Restart VM / komputer. Anda dapat menggunakan sumber /etc/source jika don't ingin me-restart komputer

4...Menggunakan short cut Ctlr + Alt + T untuk membuka terminal

5...Diverifikasi JAVA_HOME dengan angsuran

echo $JAVA_HOME

Satu-liner copy dari flob, kredit untuk mereka

Komentar (0)

Saya menggunakan line:

export JAVA_HOME=$(readlink -f $(dirname $(readlink -f $(which java) ))/../)

untuk saya ~/.profil sehingga menggunakan basis dari default direktori jawa pada saat login. Ini adalah untuk bash.

Komentar (0)