okulary w tle ekran z kodem java
Oprogramowanie

Java, zmienne środowiskowe

Gdy chcemy korzystać z programów napisanych w języku Java konieczna jest wcześniejsza instalacja bibliotek uruchomieniowych Java Runtime Environment (JRE). Niestety instalacja nie przewiduje dodania ścieżki do zmiennych środowiskowych, przez co podczas próby uruchomienia aplikacji z poziomu wiersza poleceń otrzymujemy komunikat o treści: Nazwa 'java’ nie jest rozpoznawana jako polecenie wewnętrzne lub zewnętrzne, program wykonywalny lub plik wsadowy. Poradnik przedstawia instrukcję dodawania zmiennej środowiskowej Java Path.

Procedurę rozpoczynamy od wywołania ekranu Właściwości systemu. Najłatwiej można to zrobić poprzez Start => Uruchom => sysdm.cpl.

Właściwości systemu

Przechodzimy na zakładkę Zaawansowane i klikamy Zmienne środowiskowe

Dodawanie zmiennej środowiskowej Java Path

W sekcji Zmienne systemowe klikamy Nowa….

Edytowanie zmiennej systemowej

W polu Nazwa zmiennej wpisujemy PATH, a wartość zmiennej kierujemy na katalog C:\Program Files (x86)\Java\jre6\bin lub C:\Program Files\Java\jre6\bin w zależności od wersji systemu operacyjnego (32/64-bit) oraz zainstalowanej wersji JRE. Aby odczytać ścieżkę najlepiej własnoręcznie nawigować do katalogu ..\Java\jre6\bin i skopiować lokalizację z paska adresu. Po wprowadzeniu ścieżki klikamy OK, w kolejnych oknach również OK.

Od teraz w wierszu poleceń będzie można swobodnie uruchamiać aplikacje napisane w języku Java.

O autorze

Mariusz Kołacz

Z zawodu mgr inż. informatyk, zwolennik nowoczesnych technologii i fan Nikoli Tesla. Prowadzi kilka blogów o tematyce technologicznej. Po godzinach lubi przeczytać dobrą książkę, pozwiedzać ciekawe miejsca w Polsce lub spędzić wolny czas na łonie natury.

18 komentarzy

  • Autor wpisu wprowadza nieco czytelników w błąd. Zmienna systemowa PATH zazwyczaj już istnieje, a według powyższej instrukcji ktoś nieświadomy może nadpisać całkowicie jej wartość ścieżką do Javy, co spowoduje, że część zainstalowanych aplikacji/narzędzi może przestać działać. Oczywiście w takim wypadku należy dopisać ścieżkę do Javy po średniku do bieżącej wartości.
    Przy okazji zaleca się też dodać zmienną systemową JAVA_HOME prowadzącą do głównego katalogu Javy (bez „bin”), o ile nie została utworzona automatycznie.

    • Nikogo w błąd nie wprowadzam, niepotrzebnie wprowadzasz zamieszanie 😉

      1) Zmienna PATH domyślnie nie istnieje, dowód? Postaw świeży system i wejdź do zmiennych systemowych. Natomiast jeśli wskutek instalacji jakiegoś softu np. środowiska IDE, który doda taką ścieżkę, to muszę się zgodzić, kolejne definicje podaje się po średniku, lecz przy całkowitym braku PATH jest to zbędne – dodajemy normalnie jak w instrukcji.

      2) Druga sprawa, instalator Javy nie tworzy automatycznie tych ścieżek, trzeba stworzyć ręcznie wg. podanej instrukcji – skąd wiem? Robiłem testy przed i po instalacji JRE. W tej kwestii całkowicie nie Masz racji, zanim napiszesz „zazwyczaj” lepiej upewnij się i sprawdź na własnej skórze czy rzeczywiście tak jest.

      3) Trzecia rzecz, w omawianej sytuacji nie ma potrzeby ustawiania ścieżki JAVA_HOME.

      Pomimo, że w tej sytuacji pomyliłeś się, to dziękuję Ci za komentarz, osoby które będą miały w systemie zmienną PATH, która domyślnie nie jest tworzona wraz z instalacją bibliotek lecz może pojawić się wskutek utworzenia przez zewnętrzne programy – środowiska programistyczne będą uważały na ten punkt.

      Pozdrawiam

    • 1) Zawartość zmiennej PATH u mnie to:
      %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program Files\Dell\Dell Wireless WLAN Card;c:\Program Files\WIDCOMM\Bluetooth Software\;c:\Program Files\WIDCOMM\Bluetooth Software\syswow64;c:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static;c:\Program Files (x86)\Common Files\Roxio Shared\DLLShared\;X:\yuppy\tools\apache-ant-1.7.1\bin;X:\yuppy\tools\apache-maven-3.0.3\bin;C:\Program Files (x86)\Java\jdk1.6.0_24\bin;C:\Program Files\TortoiseSVN\bin;C:\Program Files (x86)\PostgreSQL\8.3\bin
      Uwierz mi, kilka pierwszych ścieżek miałem już podczas pierwszego uruchomienia systemu, kilka kolejnych doszło przy instalowaniu sterowników, resztę dodałem sam. Te kilka pierwszych istnieje na 90% laptopów sprzedawanych wraz z gotowym, postawionym systemem.

      2) „Zazwyczaj” napisałem odnośnie istnienia zmiennej PATH, a nie jej wartości wraz ze ścieżką do Javy. Nigdzie nie napisałem, że instalator Javy dodaje tą ścieżkę. Zrzut okienka edycji zmiennej PATH wprowadza w błąd, bo ktoś mniej kumaty może pomyśleć, że wszystkie inne ścieżki może wyrzucić.

      3) Przy omawianej sytuacji nie ma potrzeby, jednak napisałem że warto to zrobić „przy okazji”. Prawdopodobnie i tak się kiedyś przyda 🙂

    • Coś mi się w to nie chce wierzyć, domyślnie zmienna PATH jest w XP, lecz w Windows 7 64bit nie ma żadnych wpisów oznaczonych w ten sposób. Niemniej jednak taka sytuacja którą opisujesz może mieć miejsce, w końcu oprogramowanie zewnętrzne zawsze może dodać lub zmodyfikować zmienne systemowe.

      Dziękuję za komentarz, dzięki niemu użytkownicy zwrócą uwagę na ten problem.

  • A wg mnie to każdy świeżo postawiony system ma już zmienną Path (pisaną małymi literami), która potrzebna jest aby w Wierszu poleceń nie wpisywać całej ścieżki dostępu do pliku, a tylko jego nazwę.
    Na Windows 7 32-bit domyślna wartość tej zmiennej to:
    %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\
    Dla Windows XP:
    %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;

    Wartości te uwzględniają tylko główny katalog systemowy, folder System32 oraz System32\Wbem.

    • Panowie obydwaj się mylicie, postawiłem system świeżutki na VirtualBox i nie ma zmiennej Path (wcięło ją?), świadczy to o tym, że zmienna powstała w Waszych systemach poprzez instalację zewnętrznego oprogramowania – tylko jakiego?. Podobna sytuacja na „żywym” systemie preinstalowanym, świeżutki latop Asus z Win7 64 bit – ścieżki brak. Więc proszę nie pisać że to jest od nowości.

    • Nie ma co się sprzeczać, bo wszyscy mamy trochę racji. Jeśli faktycznie mówimy o gołym, samodzielnie zainstalowanym systemie, to może być jak piszesz. W większości przypadków systemy preinstalowane w sprzedawanych komputerach, są już wyposażone we wszelkie potrzebne do działania sterowniki i podstawowe oprogramowanie – tam w większości przypadków zmienna Path będzie.
      Opisując proces dodawania zmiennej środowiskowej kierujesz to raczej do mało zaawansowanych użytkowników, więc w większości takich, którzy mogą nawet nie wiedzieć, jak samodzielnie postawić system.

    • Nic na to nie poradzę, u mnie są tylko (zmienne systemowe):
      ComSpec – %SystemRoot%\system32\cmd.exe
      configsetroot – %SystemRoot%\ConfigSetRoot
      FP_NO_HOST_CHECK – NO
      NUMBER_OF_PROCESSORS – 4
      OS – Windows_NT
      PATHEXT – .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
      PROCESSOR_ARCHITECTURE – AMD64
      PROCESSOR_IDENTIFIER – Intel64 Family 6 Model 37 Stepping 5, GenuineIntel
      PROCESSOR_LEVEL – 6
      PROCESSOR_REVISION – 2505
      PSModulePath – %SystemRoot%\system32\WindowsPowerShell\v1.0\Modules\
      TEMP/TMP – %SystemRoot%\TEMP
      USERNAME – SYSTEM
      VBOX_INSTALL_PATH – C:\Program Files\Oracle\VirtualBox\
      windir – %SystemRoot%

  • Zrobiłem tak ale przy bardziej złożonych programach konsola i tak wywala mi niezrozumiałe dla mnie błędy. No ale przerzuciłem się na NetBeansa i jestem bardzo zadowolony.

  • Warto tylko dodać, że już jakiś czas emu wyszła Java 7 🙂 Pamiętam jak zaczynałem programować w Javie, konfiguracja JDK, kompilowanie z konsoli to była najgorsza przeprawa.

  • Nie tak dawno miałem możliwość zainstalowania świeżutkiego Windowsa z oryginalnej płyty i sprawdziłem to dokładniej, wygląda na to że recovery Asusa zawiera błąd – brak zmiennej Path, albowiem na czystym systemie Windows 7 ta zmienna jest obecna. Swoją drogą trochę dziwna sytuacja, aczkolwiek ręczne uzupełnienie wszystkich wpisów nie stanowi dużego wysiłku, to jednak w tym wypadku nośnik recovery powinien taką instrukcję zawierać „od nowości”.

    • A widzisz, nie dałeś sobie powiedzieć, że każdy system ma już tą zmienną od „nowości”. Zmienna ta pozwala uruchamiać poprzez Wiersz polecenia programy systemowe np. Edytor rejestru, wpisując tylko polecenie „regedit”. Tak jest praktycznie w każdym systemie zaraz po jego zainstalowaniu. Brak takiej zmiennej wymaga wpisania pełnej ścieżki do pliku, czyli c:\windows\regedit.

    • Wiem o tym i chciałbym zauważyć że o tym pisałem – uwidaczniając że to ma miejsce w XP i Viście, natomiast odnosiłem się wyłącznie do systemu preinstalowanego Windows 7 64bit i tylko do tego odnoszę swą wypowiedź, reszta systemów mnie nie interesuje bo wiem że ścieżki są domyślnie, natomiast to nie zmienia faktu wystąpienia u mnie przedziwnej anomalii braku ścieżki systemowej.

  • mam na komputerze windows 7 64bit jakies dwa lata i zmiennej patch nie miałem, musiałem ją dodawać…

  • U mnie też nie ma zmiennej path a mam Windows 7 64 bit na laptopie HP Compaq.

    Yuppy chyba na wyrost napisał „Zmienna systemowa PATH zazwyczaj już istnieje” – u mnie nie istnieje przeinstalowałem system i jej nie było musiałem dodawać, jak widać nie tylko u mnie problem występuje :/

  • Witam , robiłem jak w przykładzie i nie stedy mi nie zadziałało dodam linka z obrazem jak zrobiłem , mam win 7 64 bity … hxxp://www.picshot.pl/public/view/full/91120 , nie mam pojęcia chciałem po prostu by działało a dalej pojawia mi się komunikat nazwa „JAVA” nie jest rozpoznawana jako polecenie … i tak dalej ma ktos dobra rade? co żle zrobiłem

    • Witaj, sprawdź czy nie masz już zmiennych PATH, jeśli tak dodaj na końcu wartość ze zrzutu po średniku, zapisz zmiany.
      Później otwórz wiersz poleceń, Start => Uruchom => cmd i wpisz java, jeśli pojawi się spis opcji to wszystko jest OK.
      Pozdrawiam.

    • Na zrzucie ekranu widać, że tworzysz nową zmienną środowiskową, w dodatku o niepoprawnej nazwie. Zmienna środowiskowa nie nazywa się Java, tylko Path i to do niej należy dopisać ścieżkę do katalogu bin. Jest jeszcze zmienna środowiskowa JAVA_HOME, która powinna wskazywać na główny katalog instalacji Javy i ją też warto dodać.

Kliknij tutaj aby skomentować