TL; DR
Deneyimli okuyucular için:
- Java yolunu bulun; şuna benzer:
C:\Program Files\Java\jdkxxxx\bin\
- Seçenekler menüsü iletişim kutusunu açmak için Başlat menüsünde "ortam değişkeni" arayın.
- İncele
PATH
. Eski Java yollarını kaldırın.
- Adlı yeni Java yolunu ekleyin
PATH
.
- Düzenle
JAVA_HOME
.
- Konsolu / IDE'yi kapatıp yeniden açın.
Hoşgeldiniz!
Java yeni başlayanların karşılaştığı en kötü teknik sorunlardan biriyle karşılaştınız: 'xyz' is not recognized as an internal or external command...
hata mesajı.
Özetle, Java'yı doğru şekilde yüklemediniz . Windows'ta Java kurulumunun tamamlanması için bazı manuel adımlar gerekir. JDK'yı yükselttikten sonra da dahil olmak üzere Java'yı yükledikten sonra her zaman bu adımları gerçekleştirmelisiniz.
Çevre değişkenleri ve PATH
(Bunu zaten anlıyorsanız, sonraki üç bölümü atlamaktan çekinmeyin.)
Eğer çalıştırdığınızda javac HelloWorld.java
nerede, cmd belirlemek zorundadır javac.exe
yer almaktadır. Bu PATH
bir ortam değişkeni ile gerçekleştirilir .
Bir ortam değişkeni özel bir anahtar değeri çifti (örneğin bir windir=C:\WINDOWS
). Çoğu işletim sistemi ile birlikte geldi ve bazıları sistemin düzgün çalışması için gerekli. Bunların bir listesi başladığında her programa (cmd dahil) geçirilir. Windows'ta vardır iki tip : kullanıcı ortam değişkenleri ve sistem ortam değişkenleri .
Ortam değişkenlerinizi şu şekilde görebilirsiniz:
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
...
En önemli değişken PATH
. İle ayrılmış yolların bir listesidir;
. Cmd'ye bir komut girildiğinde, listedeki her dizin eşleşen bir yürütülebilir dosya için taranır.
Bilgisayarımda PATH
:
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
Çalıştırdığınızda javac HelloWorld.java
, cmd, bunun dahili bir komutjavac
olmadığını anladıktan sonra, sistemi ve ardından kullanıcıyı arar . Bu mekanik listedeki her dizin girer ve kontrol durumunda , , vb bulunur. Bulduğunda çalıştırır. Yapmadığında yazdırırPATH
PATH
javac.com
javac.exe
javac.bat
javac
'javac' is not recognized as an internal or external command, operable program or batch file.
Java yürütülebilir dizinini PATH
.
JDK ve JRE Karşılaştırması
(Bunu zaten anlıyorsanız, bu bölümü atlamaktan çekinmeyin.)
Java'yı indirirken aşağıdakiler arasından seçim yapabilirsiniz:
- Java Runtime Environment gerekli araçları içerir (JRE) Java programları çalıştırmak için, ama değil içerdiği - yenilerini derlemeye
java
ancakjavac
.
- Java Development Kit hem de içerir (JDK),
java
ve javac
diğer geliştirme araçları ile bir dizi ile birlikte. JDK, JRE'nin bir üst kümesidir.
JDK'yı yüklediğinizden emin olmalısınız . Yalnızca JRE yazılımını yüklediyseniz,javac
sabit sürücünüzde Java derleyicisini yüklemediğiniz için . Windows programları listenizi kontrol edin ve Java paketinin adının içinde "Geliştirme Kiti" kelimelerini içerdiğinden emin olun.
Kullanma set
(Yine de planlamadıysanız, bu bölümü atlamaktan çekinmeyin.)
Diğer bazı cevaplar, aşağıdakilerin bazı varyasyonlarının yürütülmesini önerir:
C:\>:: DON'T DO THIS
C:\>set PATH=C:\Program Files\Java\jdk1.7.0_09\bin
Böyle yapma. Bu komutla ilgili birkaç önemli sorun var:
- Bu komut her şeyi siler gelen
PATH
ve Java yolu ile değiştirir. Bu komutu yürüttükten sonra, çalışmayan başka komutlar da bulabilirsiniz.
- Java yolunuz büyük olasılıkla değil
C:\Program Files\Java\jdk1.7.0_09\bin
- neredeyse kesinlikle JDK'nın farklı bir yolu olan daha yeni bir sürümüne sahipsiniz.
- Yeni
PATH
yalnızca geçerli cmd oturumu için geçerlidir . set
Komut İstemi'ni her açışınızda komutu yeniden girmeniz gerekecektir .
# 1 ve # 2 puanları bu biraz daha iyi sürümle çözülebilir:
C:\>:: DON'T DO THIS EITHER
C:\>set PATH=C:\Program Files\Java\<enter the correct Java folder here>\bin;%PATH%
Ancak genel olarak kötü bir fikirdir.
Java yolunu bulun
Doğru yol, Java'yı nereye yüklediğinizi bulmakla başlar. Bu, Java'yı nasıl yüklediğinize bağlıdır .
Exe yükleyici
Java'yı bir kurulum programı çalıştırarak yüklediniz. Oracle'ın yükleyicisi Java sürümlerini C:\Program Files\Java\
(veya C:\Program Files (x86)\Java\
) altına yerleştirir . Dosya Gezgini veya Komut İstemi ile bu dizine gidin.
Her alt klasör Java'nın bir sürümünü temsil eder. Sadece bir tane varsa, onu buldun. Aksi takdirde, yeni sürüme benzeyen sürümü seçin. Klasör adının jdk
(aksine jre
) ile başladığından emin olun . Dizini girin.
Ardından bin
dizini girin .
Şimdi doğru dizindesiniz. Yolu kopyalayın. Dosya Gezgini'ndeyse, adres çubuğunu tıklayın. Komut İstemi'ndeyse, istemi kopyalayın .
Ortaya çıkan Java yolu (tırnak işaretleri olmadan) şeklinde olmalıdır:
C:\Program Files\Java\jdkxxxx\bin\
Sıkıştırılmış dosya
JDK içeren bir .zip indirdiniz. Yolunuza çıkmayacağı rastgele bir yere çıkarın; C:\Java\
kabul edilebilir bir seçimdir.
Ardından bin
klasörü içinde bir yere yerleştirin.
Şimdi doğru dizindesiniz. Yolunu kopyalayın. Bu Java yoludur.
Asla klasörü taşımamayı unutmayın, çünkü bu yolu geçersiz kılar.
Ayarlar iletişim kutusunu aç
Düzenlemek için iletişim kutusu budur PATH
. Windows sürümünüze, kullanıcı arayüzü ayarlarınıza ve sistem yapılandırmanızın ne kadar dağınık olduğuna bağlı olarak bu iletişim kutusuna ulaşmanın birçok yolu vardır.
Bunlardan bazılarını deneyin:
- Başlat Menüsü / görev çubuğu arama kutusu »" ortam değişkeni "için arama
- Kazan + R »
control sysdm.cpl,,3
- Win + R »
SystemPropertiesAdvanced.exe
» Ortam Değişkenleri
- Dosya Gezgini »adres çubuğuna yazın
Control Panel\System and Security\System
» Gelişmiş Sistem Ayarları (en solda, kenar çubuğunda) »Ortam Değişkenleri
- Masaüstü »Bu PC'ye sağ tıklayın» Özellikler »Gelişmiş Sistem Ayarları» Ortam Değişkenleri
- Başlat Menüsü »sağ tıklayın Bilgisayar» Özellikler »Gelişmiş Sistem Ayarları» Ortam Değişkenleri
- Kontrol Paneli (simge modu) »Sistem» Gelişmiş Sistem Ayarları »Ortam Değişkenleri
- Kontrol Paneli (kategori modu) »Sistem ve Güvenlik» Sistem »Gelişmiş Sistem Ayarları» Ortam Değişkenleri
- Masaüstü »Bilgisayarım'a sağ tıklayın» Gelişmiş »Ortam Değişkenleri
- Kontrol Paneli »Sistem» Gelişmiş »Ortam Değişkenleri
Bunlardan herhangi biri sizi doğru ayarlar iletişim kutusuna götürmelidir.
Windows 10 kullanıyorsanız, Microsoft sizi düzenlemek için süslü yeni bir kullanıcı arayüzü ile kutsadı PATH
. Aksi takdirde, PATH
tek noktalı bir metin kutusuna sıkıştırılmış tam noktalı virgülle kaplı görkeminde göreceksiniz . Sisteminizi bozmadan gerekli düzenlemeleri yapmak için elinizden geleni yapın.
Temiz PATH
Şuna bak PATH
. Neredeyse kesinlikle iki PATH
değişkeniniz var (kullanıcı ve sistem ortam değişkenleri nedeniyle). Her ikisine de bakmalısın.
Diğer Java yollarını kontrol edin ve kaldırın. Onların varlığı her türlü çatışmaya neden olabilir. (Örneğin, JRE 8 ve JDK 11 varsa PATH
, bu sırayla, javac
55 sürümünü oluşturacak .class
, ancak java
yalnızca 52 sürümüne kadar destekleyen Java 8 JVM'yi çağıracak Java 11 derleyicisini çağırır ve Eğer yaşayacaksınız desteklenmeyen sürümünde hatalar herhangi bir program değil derlemek mümkün ve çalıştırın.) sidestep emin sadece bir Java yoluna sahip yaparak bu sorunların PATH
. Siz de çalışırken, eski Java sürümlerini de kaldırabilirsiniz . Ve hem JDK'ya hem de JRE'ye sahip olmanıza gerek olmadığını unutmayın .
Eğer varsa C:\ProgramData\Oracle\Java\javapath
, sıra oradan kaldıracak . Oracle , her zaman en son Java kurulumunu gösterecek sembolik bir bağlantı oluşturarak yükseltmelerden sonra kırılma Java yolları sorununu çözmeyi amaçladı . Ne yazık ki, genellikle yanlış yere işaret ediyor veya basitçe çalışmıyor . Bu girişi kaldırmak ve Java yolunu manuel olarak yönetmek daha iyidir.
Şimdi genel temizlik yapmak için iyi bir fırsat PATH
. PC'nizde artık yüklü olmayan yazılımlarla ilgili yollarınız varsa, bunları kaldırabilirsiniz. Ayrıca, etraftaki yolların sırasını da karıştırabilirsiniz (böyle şeyleri önemsiyorsanız).
a ekle PATH
Şimdi üç adım önce bulduğunuz Java yolunu izleyin ve sisteme yerleştirin PATH
.
Yeni yolunuzun listede nereye gittiği önemli değil; sonuna yerleştirmek iyi bir seçimdir.
Windows 10 öncesi kullanıcı arayüzünü kullanıyorsanız, noktalı virgülleri doğru yerleştirdiğinizden emin olun. Listedeki her yolu ayıran tam olarak bir tane olmalıdır.
Burada söylenecek çok şey yok. Bunun için yolu ekleyin PATH
ve Tamam'ı tıklayın.
Ayarlamak JAVA_HOME
Siz oradayken, siz de ayarlayabilirsiniz JAVA_HOME
. Bu, Java yolunu da içermesi gereken başka bir ortam değişkenidir. Popüler Java derleme sistemleri Maven ve Gradle dahil olmak üzere birçok Java ve Java dışı program, doğru ayarlanmadığı takdirde hata atar.
Eğer JAVA_HOME
yoksa, yeni bir sistem ortam değişkeni olarak oluşturun. Dizini olmayan Java dizininin yoluna ayarlayın bin/
, ör.C:\Program Files\Java\jdkxxxx\
.
JAVA_HOME
Java'yı yükselttikten sonra da düzenlemeyi unutmayın .
Komut İstemi'ni kapatıp yeniden açın
Değiştirmiş olmanıza rağmen PATH
, cmd dahil tüm çalışan programlar yalnızca eski olanları görür PATH
. Bunun nedeni, tüm ortam değişkenlerinin listesinin yalnızca yürütülmeye başladığında bir programa kopyalanmasıdır; daha sonra yalnızca önbelleğe alınmış kopyaya danışır.
Cmd'nin ortam değişkenlerini yenilemenin iyi bir yolu yoktur , bu yüzden Komut İstemi'ni kapatın ve tekrar açın. Bir IDE kullanıyorsanız, onu da kapatın ve tekrar açın.
Ayrıca bakınız