Ik probeer javac
te gebruiken met de Windows-opdrachtprompt, maar het werkt niet.
Na het toevoegen van de directory "C:\Program Files\Java\jdk1.6.0_16\bin\"
aan het einde van de omgevingsvariabele PATH
, wordt de java
commando werkt prima, maar het gebruik van javac
geeft me de volgende foutmelding:
‘javac’ wordt niet herkend als een interne of externe opdracht, bruikbaar programma of batchbestand.
Antwoord 1, autoriteit 100%
Als u het in het configuratiescherm hebt toegevoegd terwijl uw opdrachtprompt geopend was, heeft dat geen invloed op uw huidige opdrachtprompt. Je moet afsluiten en opnieuw openen of gewoon doen:
set "path=%path%;c:\program files\java\jdk1.6.0_16\bin"
Ter controle, voer het volgende uit:
echo %path%
vanaf je opdrachtprompt en laat ons weten wat het is.
Zorg er anders voor dat er iseen javac in die map door te proberen:
"c:\program files\java\jdk1.6.0_16\bin\javac.exe"
vanaf de opdrachtprompt. Je kunt ook vertellen welkuitvoerbaar (indien aanwezig) wordt gebruikt met de opdracht:
for %i in (javac.exe) do @echo %~$PATH:i
Dit is een handige truc, vergelijkbaar met de which
en/of whence
-opdrachten in sommige UNIX-type besturingssystemen.
Antwoord 2, autoriteit 53%
Windows OS zoekt in de huidige map en de mappen die worden vermeld in de omgevingsvariabele PATH naar uitvoerbare programma’s. De programma’s van JDK (zoals Java-compiler javac.exe en Java runtime java.exe) bevinden zich in de map “\bin” (waarbij de door JDK geïnstalleerde map wordt aangegeven, bijvoorbeeld C:\Program Files\Java\jdk1.8.0_xx). U moet de map “\bin” in het PATH opnemen.
Om de PATH-omgevingsvariabele in Windows XP/Vista/7/8 te bewerken:
-
Configuratiescherm ⇒ Systeem ⇒ Geavanceerde systeeminstellingen
-
Overschakelen naar het tabblad “Geavanceerd” ⇒ Omgevingsvariabelen
-
Scroll in “Systeemvariabelen” omlaag om “PATH” te selecteren ⇒ Bewerken
(( lees nu de volgende 3 keer voordat u verder gaat, ER IS GEEN ONgedaan maken))
In het veld “Variabele waarde” INSERT “c:\Program Files\Java\jdk1.8.0_xx\bin” (Vervang xx door het upgradenummer en CONTROLEER of dit de binaire directory van uw JDK is!!!) VOOR alle bestaande mappen, gevolgd door een puntkomma (;) die de binaire map van de JDK scheidt van de rest van de bestaande mappen.
VERWIJDER GEEN bestaande vermeldingen; anders werken sommige bestaande applicaties mogelijk niet.
Variable name : PATH
Variable value : c:\Program Files\Java\jdk1.8.0_xx\bin;[existing entries...]
Antwoord 3, autoriteit 21%
Na lang Googlen kwam ik erachter dat javac.exe zich in JDK(C:\Program Files\Java\jdk(versienummer)\bin) bevindt en niet in JRE (C:\Program Files (x86)\Java\jre7\bin) “JRE komt niet met een compiler. Het (JRE) is gewoon een java runtime-omgeving. Wat je nodig hebt is de Java development kit.”om compiler javac te gebruiken
JAVAC werkt niet als u Pin Inside JRE
Om Javac in Cmd te gebruiken, moet JDK in uw systeem worden geïnstalleerd …
voor Javac Path
pad = C: \ programmabestanden (x86) \ Java \ JRE7 \ bin Dit is verkeerd
PATH = C: \ Program Files \ Java \ JDK (versienummer) \ bin Dit is correct
Zorg ervoor dat “Javac.exe” in uw “C: \ Program Files \ Java \ JDK (versienummer) \ bin”
is
Raak niet in de war met JRE en JDK zijn allebei totaal anders
Als u geen jdk pls downloadt van deze link
of
http://www.oracle.com/technetwork/java /javase/downloads/index.html
Referentiediscussie voor JDK VS JRE Wat is het verschil tussen JDK en JRE?
Antwoord 4, Autoriteit 4%
Ik weet dat dit misschien niet jouw specifieke fout is, maar ik had ooit een leidende ruimte in mijn pad en Java zou werken, maar Javac zou dat niet doen.
Voor wat het waard is, bied ik het SAGE-advies aan: “Onderzoek uw pad van dichtbij”.
Antwoord 5, Autoriteit 3%
Oké, dit kan niet altijd het geval zijn, maar velen van ons hebben deze fout in het verleden gedaan en er zijn er maar weinig van die zich er nog steeds niet van bewust, dat is, telkens wanneer u een pad (elk pad) van elke omgeving bijvoegt Variabele, u zult waarschijnlijk de spatiebalk raken direct na de “puntkomma” (zoals u normaal zou doen, na de “periode” tijdens het typen in een editor).
Hierdoor wordt een leidende ruimte in het pad E.G “C: \ programmabestanden \ Java \ JDK1.6.0 \ bin” en daarom “javac.exe” niet gevonden door het systeem.
Antwoord 6, Autoriteit 3%
Probeer hier de oplossingen: http://techdem.centerKey.com /2009/05/Javahome-command-script.html
Dit zijn veel robuuster om te veranderen – zoals wanneer u de JDK of JRE upgraden, omdat er geen hard gecodeerd pad is.
De Snelle oplossing (als u de blog niet wilt lezen) is
C:\>for /d %i in ("\Program Files\Java\jdk*") do set JAVA_HOME=%i
C:\>set PATH=%PATH%;%JAVA_HOME%
U kunt deze regels vervolgens toevoegen aan een opstart- / login-script.
Antwoord 7, Autoriteit 2%
Ik moest dit gewoon doen om dit te laten werken aan Windows 7 64.
Open een opdrachtprompt (cmd.exe) en type:
set CLASSPATH=C:\Program Files\Java\jdk1.7.0_01\bin
Zorg ervoor dat u alle vensters van de opdrachtprompt opnieuw openen om de omgevingsvariabele bijgewerkt.
Antwoord 8
Wijzig de map “JDK1.7.0_45” “JDK1_7_0_65” en update het pad in Windows-omgeving. Anders negeert het pad de stip aan de voorkant die staat voor verborgen bestand en wordt de map niet weergegeven in padreeksen.
Antwoord 9
“; C: \ Program-bestanden \ Java \ jdk1.6.0 \ bin” Soms kunt u vergeten om een puntkomma op het laatste bestaande pad te zetten.
Antwoord 10
Ik heb geconfronteerd met het exact hetzelfde probleem dat Java zou werken, maar Javac zou niet op een CMD-prompt in Windows 8.
Het probleem heeft plaatsgevonden omdat ik het vergat is om '>'
aan het einde van de padnaam, d.w.z. het was als volgt:
C:\Program Files\Java\jdk*\bin>
Waar het zou zijn om zo te zijn:
C:\Program Files\Java\jdk*\bin
Antwoord 11
Het pad wordt alleen ingesteld voor het beheerdersaccount. Daarom is het belangrijk om de opdrachtprompt als beheerder te starten, als u dat nog niet bent.
Antwoord 12
Zorg ervoor dat u geen spaties (witruimte) tussen paden in de padvariabele toestaat. Mijn probleem was dat ik witruimte had en ik geloof dat Windows het als een NULL behandelde en mijn pad voor Java niet las.
Antwoord 13
Ik had hetzelfde probleem in deze titel. Java zou werken, maar javac
niet in de Windows-opdrachtprompt (cmd.exe
).
Voor mij was het gewoon dat ik een spatie had geplaatst bij het toevoegen van C:\Program Files\Java\jdk1.8.0\bin
aan het einde van mijn %PATH%
omgevingsvariabele.
Verwijder de spatie tussen de ;
en het volgende bestandspad.
Antwoord 14
Ik waardeer dat dit nu een oude vraag is, maar mijn oplossing was hier geen antwoord, dus post het voor het geval iemand anders de rest probeert.
In mijn geval had een eerdere installatie van de Java JRE (in ProgramData/Oracle/Java) een padvariabele bovenaan mijn lijst met padvariabelen. De inhoud van dat “Oracle”-pad had een java.exe maar geen javac.exe.
Ik heb mijn volledige JDK-pad toegevoegd aan de top van de lijst met padvariabelen, vóór de “Oracle”, en het pakte vervolgens zowel javac.exe als java op.
Antwoord 15
for /d %i in ("\Program Files\Java\jdk*") do set JAVA_HOME=%i
set JAVA_HOME
dezeoplossing werkte voor mij
Antwoord 16
Toen ik probeerde de .java naar .class te maken, werkte het commando Javac niet. Ik kreeg het werkend door naar C:\Program Files (x86)\Java\jdk1.7.0_04\bin te gaan en toen ik in die map was typte ik Javac.exe C\Test\test.java en het maakte de klas daarmee tactiek. Probeer dat maar eens.
Antwoord 17
Geef het op als “C:\Program Files\Java\jdk1.6.0_16\bin”. Verwijder de backslash, het zal werken