Saya pergi ke Variabel Lingkungan di 'Sistem' di panel kontrol dan membuat dua variabel baru, satu untuk variabel pengguna dan satu untuk variabel sistem. Keduanya bernama JAVA_HOME dan keduanya menunjuk ke
C: \ Sun \ SDK \ jdk \ bin
Tetapi untuk beberapa alasan, saya masih mendapatkan kesalahan di bawah ini ketika menjalankan perintah Java ...
BUILD FAILED
C:\Users\Derek\Desktop\eclipse\eclipse\glassfish\setup.xml:161: The following error occurred while executing this line:
C:\Users\Derek\Desktop\eclipse\eclipse\glassfish\setup.xml:141: The following error occurred while executing this line:
C:\Users\Derek\Desktop\eclipse\eclipse\glassfish\setup.xml:137: Please set java.home to a JDK installation
Total time: 1 second
C:\Users\Derek\Desktop\eclipse\eclipse\glassfish>lib\ant\bin\ant -f setup.xml
Unable to locate tools.jar. Expected to find it in C:\Program Files\Java\jre6\lib\tools.jar
Buildfile: setup.xml
Bagaimana saya bisa memperbaiki masalah ini?
Jawaban:
Temukan Direktori Instalasi JDK
Pertama, Anda perlu mengetahui jalur instalasi untuk Java Development Kit.
Buka jalur instalasi default untuk JDK:
Harus ada subdirektori seperti:
Setel Variabel JAVA_HOME
Setelah Anda memiliki jalur instalasi JDK:
Artikel lengkapnya ada di sini, di blog saya: Mengatur JAVA_HOME Variabel di Windows .
sumber
/Java/jre*
bukan direktori JDK, ini adalah direktori Java Runtime Enviroment. JDK berada di direktori terpisah kecuali jika Anda ingin melakukan hackApa yang berhasil bagi saya adalah menambahkan
%JAVA_HOME%\bin
ke variabel lingkungan Path denganJAVA_HOME
variabel lingkungan menunjuk kejdk
folder.sumber
Anda harus menginstal JDK terlebih dahulu di sistem Anda.
Atur Java Home
JAVA_HOME = C: \ Program Files \ Java \ jdk1.7.0 [Lokasi Direktori Instalasi JDK Anda]
Setelah Anda memiliki jalur instalasi JDK:
Setel JAVA Path di bawah variabel sistem
PATH = C: \ Program Files \ Java \ jdk1.7.0; [Tambahkan Nilai dengan titik koma]
sumber
Dalam cmd (sementara untuk jendela cmd itu):
sumber
setx
makaJAVA_HOME
masih akan diatur setelah Anda mematikan komputer Anda. Maka Anda tidak perlu mengaturnya lagi. Jugabin
tidak diperlukan.JAVA_HOME
,PATH
danCLASSPATH
, maka Anda dapat memiliki “portable” lingkungan Java.Anda perlu mengaturnya
C:\Sun\SDK\jdk
(Anggap itu adalah tempat JDK diinstal - Ini bukan default) - Jangan masukkan \ binC:\Sun\SDK\jdk\bin
.Jika aplikasi Anda hanya berjalan saat Anda masuk sebagai pengguna saat ini, maka masukkan ke dalam variabel pengguna - Jika perlu dijalankan untuk semua pengguna di sistem Anda, maka masukkan ke dalam variabel Sistem.
Anda juga mungkin perlu menambahkan
%JAVA_HOME%\bin
jalur (Juga tergantung apakah Anda menjalankannya hanya dari pengguna atau dari semua pengguna, termasuk Sistem)sumber
http://javahowto.blogspot.com/2006/05/javahome-vs-javahome.html
Control Panel> Java, tab Java, klik tombol Lihat. Dalam Parameter Runtime, masukkan:
Atau ketika Anda menjalankan Java Anda dapat menambahkan bahwa saklar baris perintah ke perintah:
sumber
Satu Gambar dapat memperbaiki masalah ini.
Untuk lebih
sumber
Bagi mereka yang masih bingung dengan masalah ini (saya mencoba semua saran di atas) -
Jika Anda menggunakan Windows versi 64-bit dan Anda telah menginstal JDK 32-bit, selain menyesuaikan
PATH
variabel, Anda mungkin perlu menyesuaikan variabel registri juga.Saya mencabut rambut saya, setelah mengatur
PATH
variabel saya dengan benar - masih tidak berhasil - dan kemudian hanya menemukan entri Java yang "dikosongkan" dalam registri saya, yang tampaknya batal untuk memperbaiki Java Runtime Environment yang "salah".Dengan menggunakan
Process Monitor
untuk menonton program yang saya coba untuk mulai, untuk mengendus di mana ia mencari di registri untuk Java (Runtime Environment), saya dengan bangga menemukan bahwa itu mencari dalam versi 32-bit entri registri, ditemukan diHKEY_LOCAL_MACHINE\SOFTWARE\**Wow6432Node**\JavaSoft\Java Runtime Environment
.Di dalam kunci itu, Anda harus menemukan subkey dari versi Java yang berbeda diinstal (dulu dan / atau sekarang). Klik pada subkey dari versi terbaru (subkey saya saat ini 1.7.0_25, misalnya). Setelah mengklik pada subkunci itu, Anda akan melihat nilai string registri tercantum di sebelah kanan, dan khususnya,
JavaHome
danRuntimeLib
. Anda perlu mengubah nilai-nilai kedua nilai untuk mencerminkan masing-masing folder saat ini dan file jvm.dll.Sebagai contoh, dalam kasus saya, nilai-nilai itu (sebelumnya) masing-masing ditetapkan pada
C:\Program Files (x86)\Java\jre7
danC:\Program Files (x86)\Java\jre7\bin\client\jvm.dll
yang tidak ada pada mesin saya. Saya harus memperbarui ini ke folder dan file saat iniC:\Program Files (x86)\Java\jdk1.7.0_25\jre
danC:\Program Files (x86)\Java\jdk1.7.0_25\jre\bin\client\jvm.dll
.Sekali lagi, ini akan sepenuhnya bergantung pada versi Java (JDK dan / atau JRE) apa yang telah Anda instal - 32 atau 64-bit - dan jenis sistem operasi yang Anda gunakan - 32 atau 64-bit. Hanya tahu bahwa mereka tercermin di lokasi yang berbeda dalam registri (seperti
Wow6432Node
untuk aplikasi 32 bit, dalam kasus saya dengan JDK 32-bit yang diinstal pada mesin 64-bit).Sekarang saya telah memperbarui kedua nilai registri, program saya berjalan dengan sempurna, tanpa cegukan atau keluhan lagi tentang Java Runtime Environment yang hilang (berasal dari registri).
sumber
Ini adalah solusi resmi untuk pengaturan lingkungan Java dari www.java.com - di sini .
Ada solusi untuk Windows 7, Windows Vista, Windows XP, Linux / Solaris dan shell lainnya.
Contoh
sumber
Windows 7
Pergi ke Panel Kontrol \ Semua Item Panel Kontrol \ Akun Pengguna menggunakan Explorer (bukan Internet Explorer!)
atau
klik tombol Start
klik gambar Anda
Ubah variabel lingkungan saya
Baru...
(jika Anda tidak memiliki cukup izin untuk menambahkannya di bagian variabel sistem, tambahkan ke bagian variabel pengguna)
Tambahkan JAVA_HOME sebagai nama Variabel dan lokasi JDK sebagai nilai Variabel> OK
Uji:
set JAVA_HOME
JAVA_HOME=C:\Program Files\Java\jdk1.8.0_60
sumber
Kita perlu membuat perbedaan antara dua variabel lingkungan yang dibahas di sini secara bergantian. Salah satunya adalah variabel JAVA_HOME . Yang lainnya adalah variabel Path . Setiap proses yang mereferensikan variabel JAVA_HOME mencari jalur pencarian ke JDK, bukan JRE. Penggunaan variabel JAVA_HOME tidak dimaksudkan untuk kompiler Java itu sendiri. Kompiler mengetahui lokasinya sendiri. Variabel dimaksudkan untuk perangkat lunak lain agar lebih mudah menemukan kompiler. Variabel ini biasanya digunakan oleh perangkat lunak IDE untuk mengkompilasi dan membangun aplikasi dari kode sumber Java. Sebaliknya, juru bahasa CMD Windows, dan banyak perangkat lunak pihak pertama dan ketiga lainnya merujuk variabel Path, bukan variabel JAVA_HOME.
Gunakan case 1: Kompilasi dari CMD
Jadi misalnya, jika Anda tidak menggunakan perangkat lunak IDE, dan Anda hanya ingin dapat mengkompilasi dari CMD, terlepas dari direktori kerja Anda saat ini, maka yang Anda inginkan adalah mengatur variabel Path dengan benar. Dalam kasus Anda, Anda bahkan tidak memerlukan variabel JAVA_HOME. Karena CMD menggunakan Path, bukan JAVA_HOME untuk menemukan kompiler Java.
Use case 2: Kompilasi dari IDE
Namun, jika Anda sedang menggunakan beberapa perangkat lunak IDE, maka Anda harus melihat dokumentasi pertama-tama. Mungkin diperlukan JAVA_HOME untuk diatur, tetapi mungkin juga menggunakan nama variabel lain untuk tujuan yang sama. Standar de-facto selama bertahun-tahun adalah JAVA_HOME, tetapi ini mungkin tidak selalu demikian.
Use case 3: Kompilasi dari IDE dan CMD
Jika selain perangkat lunak IDE Anda juga ingin dapat mengkompilasi dari CMD, terlepas dari direktori kerja Anda saat ini, maka selain itu variabel JAVA_HOME Anda juga mungkin perlu menambahkan jalur pencarian JDK ke variabel Path.
JAVA_HOME vs. Path
Jika masalah Anda berkaitan dengan kompilasi Java, maka Anda ingin memeriksa variabel JAVA_HOME, dan Path (jika ada). Jika masalah Anda terkait dengan menjalankan aplikasi Java, maka Anda ingin memeriksa variabel Path Anda.
Variabel jalur digunakan secara universal di semua sistem operasi. Karena didefinisikan oleh sistem, dan karena itu adalah variabel default yang digunakan untuk menemukan JRE, hampir tidak pernah ada masalah menjalankan aplikasi Java. Terutama tidak pada Windows di mana installer perangkat lunak biasanya mengatur semuanya untuk Anda. Tetapi jika Anda menginstal secara manual, hal yang paling aman untuk dilakukan mungkin melewatkan variabel JAVA_HOME sama sekali dan hanya menggunakan variabel Path untuk semuanya, baik untuk JDK dan JRE. Setiap versi terbaru dari perangkat lunak IDE harus dapat mengambil dan menggunakannya.
Symlinks
Tautan simbolis mungkin menyediakan cara lain untuk merujuk jalur pencarian JDK dengan membonceng salah satu variabel lingkungan yang ada.
Saya tidak yakin tentang rilis Oracle / Sun JDK / JRE versi sebelumnya, tetapi setidaknya installer untuk jdk1.8.0_74 menambahkan path pencarian
C:\ProgramData\Oracle\Java\javapath
ke variabel Path, dan menempatkannya di awal nilai string. Direktori ini berisi tautan simbolis ke java.exe, javaw.exe dan javaws.exe di direktori JRE.Jadi setidaknya dengan Java 8 JDK, dan mungkin Java 8 JRE standalone, tidak ada konfigurasi variabel lingkungan yang perlu dilakukan untuk JRE. Selama Anda menggunakan paket penginstal untuk mengaturnya. Mungkin ada perbedaan pada instalasi Windows Anda. Perhatikan bahwa JRE Oracle dibundel dengan JDK.
Jika Anda pernah menemukan bahwa konfigurasi Java JDK Anda menggunakan versi kompiler yang salah, atau tampaknya berfungsi dengan sihir, tanpa didefinisikan secara eksplisit (tanpa menggunakan mantra), maka Anda mungkin memiliki symlink di suatu tempat di variabel lingkungan Anda . Jadi, Anda mungkin ingin memeriksa symlink.
sumber
goto Mycomputer (PC ini) -> klik kanan -> pilih properti -> Pengaturan sistem lanjutan -> variabel lingkungan-> dalam variabel sistem klik tombol " Baru " dan tulis JAVA_HOME dalam nama variabel dan jalur C: \ Program Files \ Java \ jdk1. 8.0_131 jika jdk hadir dalam nilai variabel-> klik ok.
tutup dan buka kembali prompt perintah setelah mengatur JAVA_HOME. Terkadang perubahan tidak mencerminkan cmd yang dibuka sebelum mengatur JAVA_HOME.
Anda juga dapat mengatur JAVA_HOME melalui terminal itu sendiri: SET JAVA_HOME = "C: \ Program Files (x86) \ Java \ jdk1.8.0_131"
sumber
Dalam Eclipse:
Window->Preferences->Java->Installed JREs
Gunakan fitur pencarian untuk memastikan instalasi Java terbaru Anda terdaftar; kemudian pastikan itu adalah salah satu yang diperiksa. Ini harus menjadi JDK bukan JRE.
sumber
Saat menambahkan direktori Java Anda ke
PATH
variabel Anda, Anda mungkin ingin meletakkannya tepat di awal. Saya punya masalah, bahwa menempatkan direktori Java di akhirPATH
tidak akan berfungsi. Setelah memeriksa, saya telah menemukanjava.exe
diWindows\System32
direktori saya dan sepertinya yang pertama menang, ketika ada beberapa file dengan nama yang sama diPATH
...sumber
java.exe
danjavaw.exe
di folder sistem dengan salinan dari JRE / JDK, jadi itu harus tetap berfungsi. Jika Anda menginstalnya secara manual (hanya membongkar arsip), maka Anda memang harus berhati-hati terhadap salinan yang sedang dijalankan.Jalankan Eclipse sebagai Administrator.
Itu memecahkan masalah saya. Saya masih menggali logika di baliknya.
sumber
jika Anda belum me-restart komputer Anda setelah menginstal jdk hanya me-restart komputer Anda.
jika Anda ingin membuat portable java dan mengatur path sebelum menggunakan java, buat saja file batch yang saya jelaskan di bawah ini.
jika Anda ingin menjalankan file batch ini ketika komputer Anda mulai cukup masukkan shortcut file batch Anda di folder startup. Di windows 7 folder startup adalah "C: \ Users \ user \ AppData \ Roaming \ Microsoft \ Windows \ Start Menu \ Programs \ Startup"
buat file batch seperti ini:
Catatan:
java_home
danpath
variabel. Anda dapat membuat variabel apa saja sesuai keinginan. misalnyaset amir=good_boy
dan Anda dapat melihat amir oleh%amir%
atau Anda dapat melihat java_home oleh%java_home%
sumber
Setelah berjam-jam bekerja di sekitar sebagian besar solusi di sini, masalahnya diselesaikan bagi saya hanya dengan menginstal JDK 32-bit.
sumber
Anda mungkin ingin melihat ke folder Windows / System32 untuk file-file berikut: - java.exe - javaw.exe - javaws.exe
Karena, variabel path menyertakan file-file ini, Anda bisa mendapatkan sakit kepala mencoba mencari tahu mengapa java -version atau javac -version terus menunjuk ke JAVA_HOME lama: ganti nama file-file itu, ambil ekstensi dengan garis bawah, misalnya. Dan kemudian, Anda hanya perlu membuat variabel JAVA_HOME, menambahkannya ke variabel path (mis.,% JAVA_HOME%) dan menambahkan partikel "\ bin". Dengan cara ini Anda hanya perlu mengubah variabel JAVA_HOME yang mengarah ke JRE atau JDK yang berbeda dan memiliki beberapa instalasi java hanya dengan mengatur JAVA_HOME.
Ini juga berarti bahwa lebih baik untuk menginstal Java secara manual, tanpa installer, sehingga Anda dapat mempermainkannya.
sumber