Próbuję użyć javac
z wierszem poleceń systemu Windows, ale to nie działa.
Po dodaniu katalogu "C:\Program Files\Java\jdk1.6.0_16\bin\"
na końcu PATH
zmiennej środowiskowej java
polecenie działa dobrze, ale użycie javac
daje mi następujący błąd:
„javac” nie jest rozpoznawane jako polecenie wewnętrzne lub zewnętrzne, program operacyjny lub plik wsadowy.
java
windows
command-prompt
javac
Domenic
źródło
źródło
Odpowiedzi:
Jeśli dodałeś go w panelu sterowania, gdy wiersz polecenia był otwarty, nie wpłynie to na bieżący wiersz polecenia. Musisz wyjść i ponownie otworzyć lub po prostu:
set "path=%path%;c:\program files\java\jdk1.6.0_16\bin"
W celu sprawdzenia wykonaj:
z wiersza poleceń i daj nam znać, co to jest.
W przeciwnym razie upewnij się, że w tym katalogu znajduje się javac, próbując:
"c:\program files\java\jdk1.6.0_16\bin\javac.exe"
z wiersza polecenia. Możesz również określić, który plik wykonywalny (jeśli w ogóle) jest używany za pomocą polecenia:
for %i in (javac.exe) do @echo %~$PATH:i
Jest to zgrabna sztuczka podobna do poleceń
which
i / lubwhence
w niektórych systemach operacyjnych typu UNIX.źródło
System operacyjny Windows przeszukuje bieżący katalog i katalogi wymienione w zmiennej środowiskowej PATH w poszukiwaniu programów wykonywalnych. Programy JDK (takie jak kompilator Java javac.exe i środowisko wykonawcze Java java.exe) znajdują się w katalogu „\ bin” (gdzie oznacza katalog z zainstalowanym pakietem JDK, np. C: \ Program Files \ Java \ jdk1.8.0_xx). Musisz uwzględnić katalog „\ bin” w PATH.
Aby edytować zmienną środowiskową PATH w systemie Windows XP / Vista / 7/8:
Panel sterowania ⇒ System ⇒ Zaawansowane ustawienia systemu
Przejdź do zakładki „Zaawansowane” ⇒ Zmienne środowiskowe
W „Zmienne systemowe” przewiń w dół, aby wybrać „ŚCIEŻKA” ⇒ Edytuj
((teraz przeczytaj poniższe 3 razy, zanim przejdziesz dalej, NIE MA CZYNNOŚCI ))
W polu "Wartość zmiennej" WSTAW "c: \ Program Files \ Java \ jdk1.8.0_xx \ bin" (Zastąp xx numerem aktualizacji i POTWIERDŹ, że jest to katalog binarny twojego JDK !!!) PRZED wszystkimi istniejącymi katalogów, po których następuje średnik (;), który oddziela katalog binarny JDK od pozostałych istniejących katalogów. NIE USUWAJ żadnych istniejących wpisów; w przeciwnym razie niektóre istniejące aplikacje mogą nie działać.
Variable name : PATH Variable value : c:\Program Files\Java\jdk1.8.0_xx\bin;[existing entries...]
źródło
Po długiej pracy w Google dowiedziałem się, że javac.exe będzie w JDK (C: \ Program Files \ Java \ jdk (numer wersji) \ bin), a nie w JRE (C: \ Program Files (x86) \ Java \ jre7 \ bin) „JRE nie jest dostarczane z kompilatorem. To (JRE) jest po prostu środowiskiem wykonawczym Java. Potrzebujesz zestawu programistycznego Java”. w celu użycia kompilatora javac
javac nie będzie działać, jeśli wskażesz bin wewnątrz jre
Aby używać javac w cmd, w systemie musi być zainstalowany JDK ...
W przypadku ścieżki javac
ścieżka = C: \ Program Files (x86) \ Java \ jre7 \ bin, to jest złe
ścieżka = C: \ Program Files \ Java \ jdk (numer wersji) \ bin to jest poprawne
Upewnij się, że plik „javac.exe” znajduje się w folderze „C: \ Program Files \ Java \ jdk (numer wersji) \ bin”
Nie daj się pomylić z JRE i JDK, oba są całkowicie różne
Jeśli nie masz JDK, pobierz pls z tego linku
https://jdk.java.net/
lub
http://www.oracle.com/technetwork/java/javase/downloads/index.html
wątek referencyjny dla JDK VS JRE Jaka jest różnica między JDK i JRE?
źródło
Wiem, że może to nie być twój konkretny błąd, ale kiedyś miałem wiodącą spację na mojej ścieżce i java działałaby, ale javac nie.
Bez względu na to, co jest warte, radzę mędrca: „Zbadaj uważnie swoją ścieżkę”.
źródło
Wypróbuj rozwiązania tutaj: http://techdem.centerkey.com/2009/05/javahome-command-script.html
Są one znacznie bardziej odporne na zmiany - na przykład podczas aktualizacji JDK lub JRE, ponieważ nie ma zakodowanej ścieżki.
Szybkim rozwiązaniem (jeśli nie chcesz czytać bloga) jest
C:\>for /d %i in ("\Program Files\Java\jdk*") do set JAVA_HOME=%i C:\>set PATH=%PATH%;%JAVA_HOME%
Następnie możesz dodać te wiersze do skryptu uruchamiania / logowania.
źródło
Po prostu musiałem to zrobić, aby to działało w systemie Windows 7 64.
Otwórz wiersz poleceń (cmd.exe) i wpisz:
set CLASSPATH=C:\Program Files\Java\jdk1.7.0_01\bin
Upewnij się, że ponownie otworzyłeś wszystkie uruchomione okna wiersza polecenia, aby zaktualizować również zmienną środowiskową.
źródło
Okej, to nie zawsze może tak być, ale wielu z nas popełniło ten błąd w przeszłości i niewielu z nich nadal nie jest tego świadomych, co oznacza, że za każdym razem, gdy dołączasz ścieżkę (dowolną ścieżkę) do dowolnej zmiennej środowiskowej, prawdopodobnie naciśniesz klawisz spacji zaraz po „średniku” (jak zwykle po „kropce” podczas pisania w edytorze).
Spowoduje to utworzenie wiodącej spacji w ścieżce, np. „C: \ Program Files \ Java \ jdk1.6.0 \ bin” i dlatego „javac.exe” nie zostanie znaleziony przez system.
źródło
Zmień folder „jdk1.7.0_45” „jdk1_7_0_60” i zaktualizuj ścieżkę w środowisku Windows. W przeciwnym razie ścieżka ignoruje kropkę z przodu, która oznacza ukryty plik, więc folder nie jest wyświetlany w ciągach PATH.
źródło
"; C: \ Program Files \ Java \ jdk1.6.0 \ bin" czasami możesz zapomnieć o wstawieniu średnika do ostatniej istniejącej ścieżki.
źródło
Napotkałem dokładnie ten sam problem, który działałby java, ale javac nie wyświetlałby monitu cmd w Windows 8.
Problem wystąpił bo zapomniałem usunąć
'>'
na końcu nazwy ścieżki czyli było tak:gdzie miało być tak:
źródło
Ścieżka zostanie ustawiona tylko dla konta administratora. Dlatego ważne jest, aby uruchomić wiersz polecenia jako administrator, jeśli jeszcze nie jesteś.
źródło
Upewnij się, że nie zezwalasz na spacje (spacje) między ścieżkami w zmiennej Path. Mój problem polegał na tym, że miałem spację i uważam, że Windows potraktował to jako NULL i nie odczytał mojej ścieżki dla Javy.
źródło
Miałem ten sam problem zamieszczony w tym tytule. Java działałaby, ale
javac
nie działałaby w wierszu poleceń systemu Windows (cmd.exe
).Dla mnie było to po prostu to, że wstawiłem spację podczas dodawania
C:\Program Files\Java\jdk1.8.0\bin
na końcu mojej%PATH%
zmiennej środowiskowej.Usuń spację między
;
następną ścieżką pliku.źródło
Doceniam to, że to stare pytanie, ale moje rozwiązanie nie było tutaj odpowiedzią, więc opublikuj je na wypadek, gdyby ktoś inny spróbował całej reszty.
W moim przypadku poprzednia instalacja środowiska Java JRE (w ProgramData / Oracle / Java) miała zmienną ścieżki na górze mojej listy zmiennych ścieżki. Zawartość tej ścieżki „Oracle” miała plik java.exe, ale nie javac.exe. Dodałem moją pełną ścieżkę do JDK na górę listy zmiennych ścieżek, przed tą „Oracle”, a następnie wybrałem javac.exe oraz java.
źródło
for /d %i in ("\Program Files\Java\jdk*") do set JAVA_HOME=%i set JAVA_HOME
to rozwiązanie zadziałało dla mnie
źródło
Kiedy próbowałem zmienić .java na .class, polecenie Javac nie działało. Uruchomiłem go, przechodząc do C: \ Program Files (x86) \ Java \ jdk1.7.0_04 \ bin i kiedy byłem w tym katalogu, wpisałem Javac.exe C \ Test \ test.java i utworzyłem klasę z tym taktyka. Wypróbuj to.
źródło
Podaj jako „C: \ Program Files \ Java \ jdk1.6.0_16 \ bin”. Usuń lewy ukośnik, który zadziała
źródło