Saya mengalami error ketika mencoba untuk mengkompilasi program Java.
Saya di Windows (ini adalah Windows-masalah tertentu) dan saya memiliki terbaru JDK diinstal.
Saya telah mencoba solusi yang melibatkan PATH
variabel, tapi kesalahan tetap ada.
Konsol output:
C:\>set path=C:Program Files (x86)\Java\jdk1.7.0\bin
C:\>javac Hello.java
'javac' is not recognized as an internal or external command,
operable program or batch file.
Untuk pembaca:
C:\Program Files\Java\jdkxxxx\bin\
JALAN
. Hapus Jawa kuno jalan. JALAN
. JAVA_HOME
. Selamat datang!
Anda telah mengalami salah satu yang paling terkenal masalah teknis yang dihadapi Jawa pemula: 'xyz' tidak diakui sebagai perintah internal atau eksternal...
pesan kesalahan.
Singkatnya, anda belum terinstal Java dengan benar. Menyelesaikan instalasi Java di Windows memerlukan beberapa langkah manual. Anda harus selalu melakukan langkah-langkah ini setelah menginstal Jawa, termasuk setelah upgrade JDK.
PATH
(Jika anda sudah memahami hal ini, merasa bebas untuk melewatkan tiga bagian berikutnya.)
Ketika anda menjalankan javac HelloWorld.java
, cmd harus menentukan mana javac.exe
berada. Hal ini dicapai dengan JALAN
, variabel lingkungan.
Sebuah variabel lingkungan adalah pasangan kunci-nilai (misalnya windir=C:\WINDOWS
). Sebagian besar datang dengan sistem operasi, dan beberapa yang diperlukan untuk sistem yang tepat fungsi. Daftar dari mereka ini berlalu untuk setiap program (termasuk cmd) ketika itu dimulai. Windows, ada dua types: user variabel lingkungan dan sistem variabel lingkungan.
Anda dapat melihat variabel lingkungan seperti ini:
C:\>set
ALLUSERSPROFILE=C:\ProgramData
APPDATA=C:\Users\craig\AppData\Roaming
CommonProgramFiles=C:\Program Files\Common Files
CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
CommonProgramW6432=C:\Program Files\Common Files
...
Variabel yang paling penting adalah PATH
. Ini adalah daftar path, yang dipisahkan oleh ;
. Ketika sebuah perintah adalah masuk ke cmd, masing-masing direktori dalam daftar yang akan dipindai untuk pencocokan eksekusi.
Di komputer saya, PATH
adalah:
C:\>echo %PATH%
C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPower
Shell\v1.0\;C:\ProgramData\Microsoft\Windows\Start Menu\Programs;C:\Users\craig\AppData\
Roaming\Microsoft\Windows\Start Menu\Programs;C:\msys64\usr\bin;C:\msys64\mingw64\bin;C:\
msys64\mingw32\bin;C:\Program Files\nodejs\;C:\Program Files (x86)\Yarn\bin\;C:\Users\
craig\AppData\Local\Yarn\bin;C:\Program Files\Java\jdk-10.0.2\bin;C:\ProgramFiles\Git\cmd;
C:\Program Files\Oracle\VirtualBox;C:\Program Files\7-Zip\;C:\Program Files\PuTTY\;C:\
Program Files\launch4j;C:\Program Files (x86)\NSIS\Bin;C:\Program Files (x86)\Common Files
\Adobe\AGL;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program
Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Intel\iCLS Client\;
C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files
(x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\Intel\iCLS
Client\;C:\Users\craig\AppData\Local\Microsoft\WindowsApps
Ketika anda menjalankan javac HelloWorld.java
, cmd, setelah menyadari bahwa javac
tidak internal command, pencarian sistem PATH
diikuti oleh penggunaPATH
. Secara mekanis memasuki setiap direktori dalam daftar, dan cek jika javac.com
, javac.exe
, javac.bat
, dll. hadir. Ketika menemukan javac
, berjalan itu. Bila tidak, ia akan mencetak 'javac' tidak diakui sebagai internal or external command, operable program or batch file.
Anda harus menambahkan Jawa executable direktori untuk JALAN
.
(Jika anda sudah memahami hal ini, jangan ragu untuk melewati bagian ini.) Ketika men-download Java, anda akan ditawarkan pilihan antara:
jawa
tapi tidak javac
. jawa
dan javac
, bersama dengan sejumlah pembangunan lainnya yang sesuai. JDK merupakan superset dari JRE.
Anda harus memastikan anda harus menginstal JDK. Jika anda hanya menginstal JRE, anda tidak dapat menjalankan javac
karena anda tidak memiliki instalasi Java compiler pada hard drive anda. Periksa program Windows anda daftar, dan pastikan Java package's nama termasuk kata-kata "Development Kit" di dalamnya. set
(Jika anda tidak't berencana untuk pokoknya, jangan ragu untuk melewati bagian ini.) Beberapa jawaban yang lain merekomendasikan mengeksekusi beberapa variasi:
C:\>:: DON'T DO THIS
C:\>set PATH=C:\Program Files\Java\jdk1.7.0_09\bin
Jangan lakukan itu. Ada beberapa masalah utama dengan perintah:
JALAN
dan menggantikannya dengan Java jalan. Setelah mengeksekusi perintah ini, anda mungkin menemukan berbagai perintah lain tidak bekerja. C:\Program Files\Java\jdk1.7.0_09\bin
– anda hampir pasti memiliki versi yang lebih baru dari JDK, yang akan memiliki jalan yang berbeda. PATH
hanya berlaku untuk saat ini cmd sesi. Anda akan memiliki untuk masuk kembali set
perintah setiap kali anda membuka Command Prompt.
Poin #1 dan #2 dapat diselesaikan dengan sedikit versi yang lebih baik: C:\>:: DON'T DO THIS EITHER
C:\>set PATH=C:\Program Files\Java\<enter the correct Java folder here>\bin;%PATH%
Tapi itu hanya ide yang buruk secara umum.
Cara yang tepat dimulai dengan mencari di mana anda telah menginstal Java. Hal ini tergantung pada bagaimana anda telah terinstal Java.
Anda telah terinstal Java dengan menjalankan program setup. Oracle's installer tempat-tempat yang versi Java bawah C:\Program Files\Java\
(atau C:\Program Files (x86)\Java\
). Dengan File Explorer atau Command Prompt, arahkan ke direktori tersebut.
Setiap subfolder merupakan versi Jawa. Jika hanya ada satu, anda telah menemukan itu. Jika tidak, pilih salah satu yang terlihat seperti versi yang lebih baru. Pastikan nama folder dimulai dengan jdk
(sebagai lawan dari jre
). Masukkan direktori.
Kemudian masukkan bin
direktori itu.
Anda sekarang berada di direktori yang benar. Salin jalan. Jika di File Explorer, klik pada address bar. Jika di Command Prompt, copy prompt.
Yang dihasilkan Java jalan harus dalam bentuk (tanpa tanda kutip):
C:\Program Files\Java\jdkxxxx\bin\
Anda telah men-download .zip berisi JDK. Ekstrak ke beberapa tempat acak di mana ia memenangkan't mendapatkan di jalan anda; C:\Java\
adalah pilihan yang dapat diterima.
Kemudian cari folder bin
di suatu tempat di dalamnya.
Anda sekarang berada di direktori yang benar. Salin jalan. Ini adalah jalan Jawa.
Ingat untuk tidak pernah memindahkan folder, seperti yang akan membatalkan jalan.
Itu adalah dialog untuk mengedit JALAN
. Ada banyak cara untuk mendapatkan itu dialog, tergantung pada versi Windows anda, pengaturan UI, dan bagaimana mengacaukan sistem anda konfigurasi.
Cobalah beberapa dari ini:
kontrol sysdm.cpl,,3
SystemPropertiesAdvanced.exe
» Variabel Lingkungan Control Panel\System and Security\System
» Setelan Sistem Lanjutan (paling kiri, di sidebar) » Variabel Lingkungan JALAN
. Jika tidak, anda akan melihat JALAN
untuk versi penuh koma-bertatahkan kemuliaan, diperas menjadi satu-line textbox. Melakukan yang terbaik untuk membuat pengeditan yang diperlukan tanpa merusak sistem anda. PATH
Melihat JALAN
. Anda hampir pasti memiliki dua PATH
variabel (karena pengguna terhadap sistem variabel lingkungan). Anda perlu untuk melihat mereka berdua.
Periksa lain Jawa jalan dan menghapus mereka. Keberadaan mereka dapat menyebabkan segala macam konflik. (Misalnya, jika anda memiliki JRE 8 dan JDK 11 di JALAN
, dalam rangka itu, maka javac
akan memohon Jawa 11 compiler, yang akan membuat versi 55 .kelas
file, tapi jawa
akan memohon Jawa 8 JVM, yang hanya mendukung hingga versi 52, dan anda akan mengalami versi tidak didukung errors dan tidak dapat mengkompilasi dan menjalankan program apapun.) Menghindari masalah ini dengan memastikan anda hanya memiliki satu jalan Jawa di JALAN
. Dan sementara anda're itu, anda mungkin juga uninstall tua versi Jawa, terlalu. Dan ingat bahwa anda don't harus memiliki baik JDK dan JRE.
Jika anda memiliki C:\ProgramData\Oracle\Java\javapath
, remove yang juga. Oracle dimaksudkan untuk memecahkan masalah Java jalan yang melanggar setelah upgrade dengan menciptakan link simbolik yang akan selalu menunjuk ke terbaru Jawa instalasi. Sayangnya, hal ini sering berakhir menunjuk ke lokasi yang salah atau tidak working. Hal ini lebih baik untuk menghapus entri ini dan secara manual mengatur Jawa jalan.
Sekarang ini juga merupakan kesempatan yang baik untuk melakukan general kebersihan di JALAN
. Jika anda memiliki jalur yang berkaitan dengan perangkat lunak tidak diinstal pada PC anda, anda dapat menghapus mereka. Anda juga dapat mengacak urutan jalan di sekitar (jika anda peduli tentang hal-hal seperti itu).
JALUR
Sekarang ambil jalan Jawa yang anda temukan tiga langkah lalu, dan menempatkannya dalam sistem JALAN
.
Seharusnya't peduli di mana dalam daftar anda baru jalur masuk; menempatkan itu pada akhirnya adalah pilihan yang baik.
Jika anda menggunakan pre-Windows 10 UI, pastikan anda telah menempatkan tanda koma dengan benar. Harus ada tepat satu memisahkan setiap jalan dalam daftar.
Ada benar-benar isn't banyak lagi untuk mengatakan di sini. Hanya menambahkan path ke JALAN
dan klik OK.
JAVA_HOME
Sementara anda're itu, anda dapat juga mengatur JAVA_HOME
juga. Ini adalah satu lagi variabel lingkungan yang juga harus mengandung Java jalan. Banyak orang Jawa dan non-Jawa program, termasuk yang populer Jawa membangun sistem Gradle, akan melemparkan kesalahan jika hal ini tidak diatur dengan benar.
Jika JAVA_HOME
tidak ada, buat baru dengan sistem variabel lingkungan. Mengatur hal yang sama Java jalan anda ditambahkan ke JALAN
.
Ingat untuk mengedit JAVA_HOME
setelah upgrade Jawa, juga.
Meskipun anda telah dimodifikasi PATH
, semua program yang berjalan, termasuk cmd, hanya melihat tua JALAN
. Hal ini karena daftar dari semua variabel lingkungan adalah hanya disalin ke program ketika itu dimulai pelaksana; setelah itu, itu hanya berkonsultasi salinan cache.
Tidak ada cara yang baik untuk refresh cmd's lingkungan variablesjadi hanya menutup Command Prompt dan buka lagi. Jika anda menggunakan IDE, menutup dan membuka kembali itu juga.
coba ini.. Saya juga punya itu tapi sekarang itu diselesaikan di XP..
C:\ YourFolder >set path=C:\Program Files\Java\jdk1.7.0_09\bin;
C:\ YourFolder >javac YourCode.java
Jalankan perintah berikut dari command prompt:
set Path="C:\Program Files\Java\jdk1.7.0_09\bin"
atau
set PATH="C:\Program Files\Java\jdk1.7.0_09\bin"
Saya telah mencoba ini dan itu bekerja dengan baik.
Jika jawa perintah kerja dan mendapatkan masalah dengan javac. kemudian periksa dulu di jdk's bin directory javac.exe file ada atau tidak.
Jika javac.exe file yang ada kemudian mengatur JAVA_HOME
sebagai variabel Sistem.
Memeriksa variabel lingkungan anda.
Dalam kasus saya saya telah JAVA_HOME diatur dalam variabel Sistem serta saya Akun Pengguna variabel dan yang terakhir adalah set ke salah versi Jawa. Saya juga punya masalah yang sama dengan variabel Path.
Setelah menghapus JAVA_HOME dari Akun Pengguna variabel dan menghapus jalan yang salah dari variabel Path bekerja dengan benar.