Haruskah JAVA_HOME mengarah ke JDK atau JRE?

102

Saya menunjuk JAVA_HOMEke C:\Program Files (x86)\Java\jre7. Ini bekerja dengan baik. Setelah itu, saya membuka ritsleting semut dan mengatur variabel lingkungan yang terkait dengan Ant, saya mendapat pesan kesalahan berikut setelah mengetik"ant -version"

gambar

Saya mencari forum ini. Sepertinya salah satu solusinya adalah mengarahkan Java ke JDK, bukan JRE. Saya tidak yakin apakah ini harus menjadi solusinya. Dengan kata lain, secara umum, mana yang harus JAVA_HOME tunjuk? JDK atau JRE?

pengguna297850
sumber

Jawaban:

121

Jika Anda melakukan pengembangan apa pun, atau membangun dengan Maven atau Ant, Anda perlu mengarahkan ke JDK (Java Development Kit) tempat utilitas seperti javac(Java Compiler) berada. Jika tidak, Anda dapat mengarahkan ke JRE (Java Runtime Environment).

JDK berisi semua yang dimiliki JRE dan banyak lagi. Jika Anda hanya menjalankan program Java, Anda dapat mengarahkan ke JRE atau JDK.

David W.
sumber
7
Jadi JAVA_HOMEdigunakan untuk melakukan dua hal: 1: untuk alat pengembangan, menemukan javac.exe. 2: untuk alat non-perkembangan, penemuan java.exe. Ini sepertinya melanggar "satu alat untuk satu hal" . Sebaiknya tidak JDK_HOMEdigunakan sebagai gantinya?
Pacerier
4
Diagram di situs ini menunjukkan hubungan antara JDK dan JRE. docs.oracle.com/javase/8/docs
andrybak
1
Apakah mungkin untuk memvalidasi secara pro-tata bahasa apakah jalur Java disetel sebagai JRE atau JDK?
Dinesh Kumar P
9

Cukup (ubah ke jdk1.xxx_xx Anda)

JAVA_HOME = C: \ Program Files \ Java \ jdk1.8.0_05

Amr Lotfy
sumber
6

JAVA_HOME saya mengarah ke JDK. Jika masih tidak berhasil, periksa apakah Anda mengunduh ant untuk Java 7 dan bukan untuk Java 6.

das_j
sumber
5

Secara umum, tidak masalah jika Anda mengarahkannya ke JRE atau JDK. Itu tergantung pada aplikasi yang menggunakannya. Dokumentasi Semut mengatakan Anda harus mengarahkannya ke JDK untuk mendapatkan semua fitur Ant.

Jan Martiška
sumber
2

sebagai pengembang, Anda harus mengarahkan JAVA_HOME Anda ke jdk untuk mengakses copiler javac dll. Ada baiknya jika Anda dapat menguji program Anda untuk dijalankan di JRE. Jika Anda menggunakan server aplikasi, Anda sering juga memerlukan JDK, bukan JRE, tetapi itu tergantung pada server tertentu.

akostadinov
sumber
2

Anda dapat menggunakan JDK atau JRE tetapi:

JAVA_HOME digunakan oleh peluncur untuk menemukan JDK / JRE yang akan digunakan. (JDK disarankan karena beberapa tugas memerlukan alat java.)
. ANT_HOME

michaelok
sumber
0

Mari tetap sederhana. Buka pengaturan dan cari "Variabel Lingkungan". Setelah jendela variabel lingkungan muncul, cukup buat variabel SISTEM baru dengan mengklik BARU dan kemudian JELAJAHI DIRECTORY sampai Anda menemukan jalur pemasangan JDK. JDK harus diinstal dalam file program dan Anda akan melihat folder JAVA dan di dalam folder tersebut adalah JDK dan JRE ... Jika Anda menulis kode, Anda harus memilih JDK !!! Jangan dengarkan siapa pun yang menyatakan JRE akan cukup ... TIDAK! Tidak akan! Direktori yang tepat akan terlihat seperti ini C: \ Program Files \ Java \ jdk1.8.0_144 sesederhana itu!

nexogen.io
sumber
2
@Stephan Jawaban yang ada sudah memberikan informasi yang saya luangkan waktu untuk memberikannya. Itu pembenaran Anda untuk downvoting? Ini adalah masalah dengan banyak utas ini. Pertama, hanya karena prinsip dasar dijawab tidak berarti jawaban tersebut dibentuk dengan baik atau bahkan membantu. Jawaban saya sama sekali tidak sama dengan jawaban sebelumnya. Jawaban yang saya berikan, datang dengan instruksi yang tepat
nexogen.io