java-logo-top

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.

Mariusz Kołacz Java, path, ścieżka, system, zmienne

Skomentuj wpis - Komentarzy (18)

  1. Yuppy pisze:

    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.

  2. Mariusz Kołacz pisze:

    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

  3. Yuppy pisze:

    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 :)

  4. Mariusz Kołacz pisze:

    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.

  5. traxter pisze:

    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.

  6. Mariusz Kołacz pisze:

    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.

  7. Yuppy pisze:

    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.

  8. Mariusz Kołacz pisze:

    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%

  9. Gierek pisze:

    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.

  10. Browser pisze:

    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.

  11. Mariusz Kołacz pisze:

    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".

  12. Traxter pisze:

    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.

  13. Mariusz Kołacz pisze:

    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.

  14. czikom pisze:

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

  15. Alberto pisze:

    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 :/

  16. zainteresowny pisze:

    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

  17. Mariusz Kołacz pisze:

    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.

  18. Yuppy pisze:

    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ć.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Poinformuj mnie o nowych komentarzach do tego wpisu.