javac werkt niet in de opdrachtprompt van Windows

Ik probeer javacte 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 javacommando werkt prima, maar het gebruik van javacgeeft 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 whichen/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:

  1. Configuratiescherm ⇒ Systeem ⇒ Geavanceerde systeeminstellingen

  2. Overschakelen naar het tabblad “Geavanceerd” ⇒ Omgevingsvariabelen

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

https://jdk.java.net/

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 javacniet 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\binaan 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

Other episodes