„Java” nie jest rozpoznawana jako polecenie wewnętrzne ani zewnętrzne


158

Podczas próby sprawdzenia aktualnej wersji Javy, w której pracuję, pojawił się błąd „java nie jest rozpoznawana jako polecenie wewnętrzne lub zewnętrzne, program operacyjny lub plik wsadowy.”.

Używam systemu operacyjnego Windows 7 i pobrałem najnowszy pakiet JDK i czułem, że mogłem przypadkowo usunąć java z komputera, tak jak wcześniej mogłem sprawdzić wersję Java za pomocą polecenia "java -version".

Jakie oprogramowanie muszę pobrać, aby Java znów działała na moim komputerze?

EDYTOWAĆ:

Udało mi się ponownie uruchomić Javę z mojego cmd po upewnieniu się, że wszystkie zmienne środowiskowe wskazują na bieżący Java SDK. Dziękuję za wszystkie odpowiedzi na moje pytanie.

Karen

Odpowiedzi:


200

Musisz skonfigurować zmienne środowiskowe JAVA_HOMEi PATH.

JAVA_HOMEmusi zawierać ścieżkę do java i należy dodać % JAVA_HOME% \ bin doPATH

Alternatywnie możesz po prostu dodać do PATHcałej ścieżki do folderu bin, bez JAVA_HOMEzmiennej, jednak jest to trochę bardziej irytujące, gdy potrzebujesz więcej niż jednej wersji Java na swoim komputerze (w ten sposób wystarczy zmienić JAVA_HOMEi nawet nie przejmuj się PATH)


w moim przypadku miałem zainstalowany jdk 7 i działało dobrze, dopóki nie zaktualizowałem do nowszej wersji jdk 8, rozwiązaniem było odinstalowanie starej wersji jdk
moein rahimi

1
U mnie działa po usunięciu JAVA_HOME i ustawieniu całej ścieżki do folderu bin java w pierwszej zmiennej Path
Mohammad Heydari

Mam już PATHzmienną. Czy mogę zmienić zawartość, nie niszcząc niczego innego?
Liggliluff

pamiętaj, aby dodać OBIE zmienne „JAVA_HOME”, a następnie „PATH”, obie wielkie litery
Marco Ottina

Z jakiegoś powodu w systemie Windows 10 to nie zadziała. Umieść pełną ścieżkę w PATHzmiennej zamiast używać %JAVA_HOME%. Sprawdź tę odpowiedź: stackoverflow.com/a/62590863/3337089
Nagabhushan SN

140

W systemie Windows 7:

  1. Kliknij prawym przyciskiem myszy My Computer
  2. Wybierz Properties
  3. Wybierz Advanced System Settings
  4. Wybierz Advancedkartę
  5. Wybierz Environment Variables
  6. Wybierz PathponiżejSystem Variables
  7. Kliknij Editprzycisk
  8. W Edytorze wartości zmiennych wklej to na początku wiersza

    C:\Program Files\Java\jdk1.7.0_72\bin;
  9. Kliknij OK, a następnie OK ponownie

  10. Uruchom ponownie wiersz polecenia, w przeciwnym razie nie zobaczy zmiany w zmiennej ścieżki
  11. Wpisz java -versionwiersz polecenia.


Uwagi do kroku 8:
1. Wersja javy w tym może różnić się od używanej tutaj - to jest tylko przykład.
2. Prawdopodobnie w zmiennej ścieżki będą znajdować się inne wartości. Naprawdę ważne jest, aby nie usuwać tego, co już tam jest. Dlatego instrukcje mówią, aby wkleić podaną wartość na początku wiersza - oznacza to, że nie usuwasz istniejącej wartości, po prostu wstawiasz przed nią java. Rozwiązuje to również wszelkie problemy, które pojawią się, jeśli na ścieżce znajduje się również inna wersja Java.

Uwagi do kroku 6:
1. To ustawia ścieżkę dla komputera, a nie dla indywidualnego użytkownika. Możliwe, że pracujesz na komputerze, którego używają również inni programiści, w takim przypadku wolisz ustawić zmienne użytkownika, a nie zmienne systemowe


6
To „Uruchom ponownie wiersz polecenia, inaczej nie zobaczy zmiany w zmiennej ścieżki”
Andrew Paes,

1
nie używaj ';' dla jdk 10
brainLoop

53

Wygląda na to, że nie dodałeś właściwego katalogu do ścieżki.

Najpierw dowiedz się, w którym katalogu zainstalowałeś Javę. Na przykład na moim pudełku jest to C:\Program Files\java\jdk1.7.0_111 . Po znalezieniu spróbuj uruchomić go bezpośrednio. Na przykład:

c:\> "c:\Program Files\java\jdk1.7.0_11\bin\java" -version

Gdy już na pewno masz odpowiednią wersję, dodaj binkatalog do swojegoPATH zmiennej środowiskowej.

Zauważ, że nie potrzebujesz JAVA_HOMEzmiennej środowiskowej i od jakiegoś czasu nie jest. Niektóre narzędzia mogą go używać - a jeśli używasz jednego z nich, to oczywiście ustaw go - ale jeśli używasz tylko (powiedzmy) Eclipse i wiersza poleceń java/ javacnarzędzi, bez niego nic ci nie jest.


1 Tak, przypomniało mi to, że muszę zaktualizować ...


@SotiriosDelimanolis: Nie pamiętam, kiedy ostatnio tego potrzebowałem, osobiście. Niektóre narzędzia mogą - ale zacząłem zmieniać środowisko tylko wtedy, gdy naprawdę tego potrzebowałem, a nie po prostu. (Zmienię odpowiedź, aby to zaznaczyć.)
Jon Skeet

1
Bardzo dziękuję za odpowiedź, jednak po dodaniu zarówno ścieżki do javy w zmiennych środowiskowych "Path", jak i "JAVA_HOME", nadal wydaje się, że pojawia się ten sam błąd.
Karen

2
@Karen: Cóż, wypróbowałeś mój pierwszy krok, aby uruchomić to otwarcie? Czy zrestartowałeś wiersz polecenia po zmianie zmiennych środowiskowych?
Jon Skeet

Kiedy uruchomiłem kursywę c: \> "c: \ Program Files \ java \ jdk1.7.0_11 \ bin \ java" -version italic , brzmiało: "wersja java '1.7.0_11' Java <TM> SE Runtime Environment <build 1.7. 0_11-b21> Java HotSpot <TM> Client VM <build 23.6-b04, tryb mieszany, udostępnianie>
Karen

Tak, zrestartowałem cmd po zmianie zmiennych środowiskowych, ale wydaje się, że niestety nie było żadnej zmiany.
Karen

48

Załóżmy, że Java / JDK jest instalowana w folderze: C: \ Program Files \ Java :

Ścieżka instalacyjna Java / JDK

Wykonaj kroki:

  1. Idź do Panelu sterowania → System → Zaawansowane ustawienia systemu → Zaawansowane → Zmienne środowiskowe ( Win+ Pause/Breakdla System w Panelu sterowania )
  2. W sekcji Zmienne systemowe kliknij Nowe…
  3. W nazwie zmiennej wpisz:JAVA_HOME
  4. W Wartość zmiennej wpisz :,C:\Program Files\Java\bin naciśnij OK : Dodaj JAVA_HOME
  5. W sekcji Zmienne systemowe kliknij dwukrotniePath
  6. Naciśnij Nowy i napisz C:\Program Files\Java\bin, naciśnij OK : Dodaj ścieżkę Java
  7. W oknie Zmienne środowiskowe naciśnij OK
  8. Uruchom ponownie / uruchom cmd.exei napisz java --version:: Wersja Java CMD

Uwielbiam wskazówkę (Windows + Pause Break).
CodeFinity

Właśnie próbowałem z oknem 10. Polecenie java --versionnie działa, ale java -versiondziała.
Steve

14

Wyszukaj zmienne środowiskowe. wprowadź opis obrazu tutaj

otwórz "edytuj zmienne środowiskowe systemu". następnie kliknij „zmienne środowiskowe”. wprowadź opis obrazu tutaj

W sekcji „Zmienne użytkownika” kliknij „Ścieżka”, a następnie „Edytuj”. wprowadź opis obrazu tutaj

Znajdź swoją ścieżkę Java i kliknij „Edytuj”. wprowadź opis obrazu tutaj

następnie wklej ścieżkę do folderu instalacyjnego Java. Przeważnie można go znaleźć na ścieżce podobnej do tej. C: \ Program Files \ Java \ jdk-12.0.2 \ bin

Następnie kliknij OK. teraz w menu Start wpisz cmd. otwórz wiersz polecenia. wpisz java -version Jeśli zrobiłeś to dobrze, powinno pokazać coś takiego. wprowadź opis obrazu tutaj


9

U mnie zaczyna działać po wstawieniu: na początku ścieżki zmiennej systemowej: -


wprowadź opis obrazu tutaj

wprowadź opis obrazu tutaj



6

Moim rozwiązaniem było umieszczenie tej samej wartości (ścieżki do folderu bin JDK) w JAVA_HOMEiPath

JAVA_HOME Ścieżka


1
Witamy w SO. Proszę dodać trochę więcej informacji - np co faktycznie wprowadzone do JAVA_HOMEa PATHi nie odnoszą się do innych odpowiedzi.
Michael Lihs

5

Ten problem występuje w systemie Windows 8. Najpierw skopiuj ścieżkę do pliku java jdk - np. C: \ Program Files \ Java \ jdk1.7.0_51 \ bin.

  1. Bezpośrednio na ikonie Mój komputer na pulpicie i kliknij Właściwości.

  2. Wybierz „Zaawansowane ustawienia systemu” w lewym okienku.

  3. W zakładce „Zaawansowane” wybierz „Zmienne środowiskowe” u dołu.

  4. W zmiennych systemowych wybierz zmienną „Ścieżka” i edytuj ją.

Wklej ścieżkę i dodaj „;” na koniec - np. C: \ Program Files \ Java \ jdk1.7.0_51 \ bin;


2
Upewnij się, że (;) na końcu istniejącej ścieżki przed dołączeniem.
Sanjeet A

3

W moim przypadku PATH została poprawnie ustawiona, ale PATHEXT został przez pomyłkę wyczyszczony z rozszerzeniem .exe. Dlatego okno nie może znaleźć aplikacji java ani nic .exe z wiersza poleceń. Mam nadzieję, że to może komuś pomóc.


1

Miałem ten sam problem. Po prostu zainstaluj dokładnie ten kawałek javy na swoim komputerze. Jeśli twój komputer jest 64-bitowy, zainstaluj 64-bitową wersję java. Jeśli jest 32-bitowy, to odwrotnie :)


1

Nie wiem dlaczego, ale w moim przypadku powodem było to, że zamiast CMD korzystałem z terminala Anaconda.

Po użyciu CMD i zaktualizowaniu ustawień ścieżki, jak wspomniano we wszystkich komentarzach powyżej, problem został rozwiązany po mojej stronie.


0

jeśli masz cygwin zainstalowany w Windows Box lub używasz powłoki UNIX

Issue bash#which java

Dzięki temu dowiesz się, czy java znajduje się w Twojej ścieżce klas, czy NIE.


0

Poprawiłem zmienną ścieżki, ale wiersz polecenia musi zostać uruchomiony ponownie, w przeciwnym razie nie będzie w stanie zweryfikować zmiany zmiennej ścieżki. Może być pomocny dla kogoś takiego jak ja. więc „ uruchom ponownie wiersz polecenia


0

Jeśli ustawiłeś zmienne środowiskowe ( JAVA_HOMEi PATH) w zmiennych użytkownika, wiersz polecenia (uruchom jako administrator) nie zidentyfikuje java. W tym celu musisz ustawić zmienne środowiskowe w zmiennych systemowych.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.