Bagaimana cara membujuk Windows untuk menggunakan JDK daripada JRE?
Pertanyaan ini telah ditanyakan sebelumnya, di sini dan di tempat lain:
Bagaimana cara mengatur instalasi / runtime Java default (Windows)?
Masalahnya adalah bahwa Windows mengabaikan JAVA_HOME
dan juga mengabaikan fakta bahwa saya membuat direktori bin JDK sebagai entri pertama di jalur tersebut.
Ketika saya menjalankan java -version
dari baris perintah, alih-alih menjalankan instalasi JDK 1.6 saya, ia menjalankan 1.7 JRE.
Dugaan saya adalah bahwa ini adalah masalah khusus untuk 1.7, dan Windows 7 melakukan sesuatu yang seharusnya tidak dilakukan dengan registri.
Ada ide tentang cara memperbaikinya?
Edit : Ups. Saya menulis "entri pertama di jalur kelas" di atas, padahal yang saya maksud adalah "jalur". Maaf.
%JAVA_HOME%\bin
posisi pertamapath
pada Windows 10 dan bekerja untuk saya.Di Windows 8, Anda mungkin ingin menghapus
C:\ProgramData\Oracle\Java\javapath
direktori.dari jalan
Itu memecahkan masalah saya.
sumber
Saya memiliki masalah ini juga. Saya menjalankan 1.6 tetapi ingin membuat kode yang saya kerjakan dengan 1.5. Saya telah mengubah
JAVA_HOME
danPATH
(baik pengguna dan sistem) tidak berhasil.Jawabannya adalah bahwa installer untuk 1,6 turun
java.exe
,javaw.exe
danjavaws.exe
ke sayaWindows\System32
folder (Windows 7).Aku dipecahkan dengan mengganti nama file-file ke
java_wrong.exe
,javaw_wrong.exe
, danjavaws_wrong.exe
. Hanya setelah melakukan itu, ia mengambil versi java yang benar seperti yang didefinisikan dalamJAVA_HOME
danPATH
. Saya mengganti nama file dengan demikian karena itu menghapusnya dengan cara yang mudah dibalik.Semoga ini membantu!
sumber
Windows tidak mengabaikan apapun. Ini adalah masalah dengan penyiapan Anda; Windows hanya menggunakan apa yang Anda sediakan. Ia tidak memiliki pengetahuan khusus tentang
JAVA_HOME
.CLASSPATH
tidak ada hubungannya dengan Windows juga. Untuk Windows, itu hanya variabel lingkungan yang diperluas ke lokasi folder.Periksa
%PATH%
variabel lingkungan Anda . Itulah yang membuat Windows menemukan satu sebelum yang lain. Jalur (seperti yang dikatakan postingan yang Anda tautkan) harus mengarah ke%JAVA_HOME%\bin;<remainder of path>
. Sekali lagi, posting yang Anda tautkan memberi Anda cara untuk mengatur ini menggunakan file batch.(Untuk orang lain yang mungkin tidak mengetahui ini: Cara termudah untuk memeriksa% PATH% adalah dengan membuka command prompt dan mengetik
echo %PATH%
. Anda juga bisa melakukannya dengan mengklikComputer
kanan di panel kanan Start Menu dan memilihProperties
, kemudianAdvanced System Settings
, danEnvironmental Variables
tombol tne .)sumber
JAVA_HOME
dari Windows.JAVA_HOME
harus disetel ke root instalasi java. Path harus memiliki%JAVA_HOME%\bin;<remainder of path%gt;
, jika tidak Anda akan berakhir dengan tidak "menemukan" java, javac, dll. Tentu saja, Windows hanya benar-benar melihatPATH
variabel, tetapi beberapa alat terkait java melihatJAVA_HOME
sesekali.\bin
juga. Terima kasih.Saya memiliki masalah yang sama. Saya memiliki banyak versi Java yang diinstal dan untuk beberapa alasan Java 1.7 digunakan sebagai pengganti Java 1.6, meskipun saya menentukan di jalur untuk menggunakan 1.6 (C: \ jdk1.6.0_45_32 \ bin).
Saya harus memindahkan jalur JDK yang ingin saya gunakan (1.6) untuk menjadi entri pertama dalam variabel lingkungan PATH untuk memastikan Windows menggunakan 1.6, bukan 1.7.
Jadi, misalnya variabel lingkungan PATH sebelumnya adalah:
C:\Program Files (x86);...<other entries>;C:\dev\ant181\bin;C:\jdk1.6.0_45_32\bin
dan setelah saya pindahkan jdk menjadi yang pertama, berhasil:
C:\jdk1.6.0_45_32\bin;C:\Program Files (x86);...<other entries>;C:\dev\ant181\bin
Saya kira penginstal Windows dari Java 1.7 menginstalnya ke beberapa direktori lain yang sudah ada di PATH, sehingga digunakan terlebih dahulu alih-alih entri PATH khusus yang ditentukan C: \ jdk1.6.0_45_32 \ bin;
sumber
Untuk kasus saya dalam
'Path'
variabel ada parameter yang ditambahkan seperti 'C:\ProgramData\Oracle\Java\javapath;
'. Lokasi ini memilikijava.exe
,javaw.exe
danjavaws.exe
dari java 8 yang baru diinstal melaluijdk.exe
dari Oracle.Saya telah menghapus teks ini dari Path di mana Path saya sudah memilikinya
%JAVA_HOME%\bin
.Sekarang, variabel
'JAVA_HOME'
mengontrol versi Java saya yang saya inginkan.sumber
Misalkan Anda telah menginstal JDK 10 setelah JDK 8 dan dalam variabel lingkungan sistem mengatur jalur seperti "C: \ ProgramData \ Oracle \ Java \ javapath" kemudian kontrol versi Java dengan jalur ini. itu akan mengabaikan JAVA_HOME bahkan jdk 1.8 jalur yang ditetapkan di sini Jadi hapus "C: \ ProgramData \ Oracle \ Java \ javapath" di jalur untuk mendapatkan efek jalur JAVA_HOME
sumber
Setel variabel lingkungan Path ke direktori jdk / bin yang Anda inginkan
sumber
Saya telah menginstal Java 7 dan 8 dan saya ingin mengalihkan ke java 7 tetapi versi java di jendela prompt cmd saya menunjukkan Java 8.
Menambahkan jalur direktori bin Java 7 ( C: \ Program Files \ Java \ jdk1.7.0_10 \ bin ) ke variabel PATH di akhir, tetapi tidak berhasil dan menunjukkan Java 8. Jadi saya mengubah jalur Java 7 ke awal nilai jalur dan berhasil.
Membuka jendela prompt cmd baru dan memeriksa versi java saya dan sekarang menampilkan Java 7
sumber
Dalam kasus saya, saya menginstal Java 7 dan 8 (keduanya x64) dan saya ingin mengarahkan ke java 7 tetapi semuanya diatur untuk menggunakan Java 8. Java menggunakan variabel lingkungan PATH:
sebagai opsi pertama untuk mencari runtime foldernya (merupakan folder tersembunyi). Path ini berisi 3 symlink yang tidak dapat diedit.
Di pc saya, variabel lingkungan PATH terlihat seperti ini:
Dalam kasus saya, Seharusnya terlihat seperti ini:
Saya harus memotong dan menempelkan symlink ke tempat lain sehingga java tidak dapat menemukannya, dan saya dapat memulihkannya nanti.
Setelah mengatur variabel lingkungan JAVA_HOME dan JRE_HOME ke runtime folder java yang diinginkan (dalam kasus saya ini adalah Java 7), perintah
java -version
harus menunjukkan runtime java yang Anda inginkan. Saya berkomentar bahwa tidak perlu mengacaukan registri.Diuji pada Win7 x64.
sumber
Masalah ini mungkin karena versi Java sebelumnya yang diinstal di Sistem Anda. Pertama, periksa Variabel Lingkungan Anda dengan hati-hati dan hapus semua Variabel Lingkungan yang terkait dengan versi JAVA sebelumnya dan ganti jalur tersebut ke
C:\Program Files\Java\<your new jdk version>\bin
sumber
Ada faktor tambahan di sini; Selain java executable yang ditempatkan instalasi java di mana pun Anda memintanya, di windows, penginstal java juga menempatkan salinan dari beberapa executable tersebut di direktori windows system32 Anda, jadi Anda mungkin akan menggunakan yang mana setiap java dapat dieksekusi adalah diinstal paling baru.
sumber
Untuk berjaga-jaga jika Anda menggunakan file .BAT sebagai Layanan Windows, saya akan menyarankan untuk menghapus instalasi layanan Windows dan menginstal ulang lagi setelah mengubah% JAVA_HOME% untuk menunjuk ke versi Java yang benar ..
sumber
Setelah bergumul dengan masalah ini selama beberapa waktu dan menelitinya, akhirnya saya berhasil menyelesaikannya dengan mengikuti langkah-langkah berikut:
1) instal jdk versi 12
2) Buat variabel baru di variabel sistem
3) Beri nama sebagai JAVA_HOME dan berikan jalur instalasi jdk
4) tambahkan variabel ini di jalur dan pindahkan ke atas.
5) pergi ke C: \ Program Files (86) \ Common Files \ Oracle \ Java \ javapath dan ganti java.exe dan javaw.exe dengan file yang sesuai dengan nama yang sama dari folder pathtojavajdk / bin
Akhirnya, saya memeriksa versi default java di cmd dengan "java -version" dan berhasil!
sumber
Saya memiliki masalah yang sama, dalam pengaturan variabel lingkungan pengguna saya memiliki JAVA_HOME dan PATH dikonfigurasi dengan benar tetapi tidak berhasil. Saat saya memperbarui variabel lingkungan sistem saya, maka variabel itu mulai berfungsi.
sumber