|
|
|
|
Strumenti |
22-02-2010, 10:54 | #1 |
Member
Iscritto dal: Jun 2007
Messaggi: 163
|
[Java] javac non è riconosciuto come comando
Ciao ragazzi
ho windows vista. quando voglio compilare in java un file dal prompt non mi viene riconosciuto il comando "javac" dandomi il messaggio "javac non è riconosciuto come comando interno o esterno, un programma eseguibile o un file batch" ; viene riconosciuto solo se lo compilo dalla cartella "bin" invece il comando "java" è riconosciuto da qualsiasi cartella vi riporto alcune variabili d'ambiente impostate: classpath : .;C:\Program Files\QuickTime\QTSystem\QTJava.zip ; javahome: C:\Program Files\Java\jdk1.6.0_18\bin path: C:\Program Files\PC Connectivity Solution\;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Program Files\QuickTime\QTSystem ; C:\Program Files\Java\jdk1.6.0_18\bin ;C:\Program Files\TortoiseSVN\bin |
22-02-2010, 13:22 | #2 | |
Senior Member
Iscritto dal: Feb 2010
Messaggi: 466
|
Quote:
|
|
22-02-2010, 13:31 | #3 |
Member
Iscritto dal: Jun 2007
Messaggi: 163
|
|
22-02-2010, 13:36 | #4 |
Senior Member
Iscritto dal: Feb 2010
Messaggi: 466
|
|
22-02-2010, 18:11 | #5 |
Member
Iscritto dal: Jun 2007
Messaggi: 163
|
allora il punto è questo, dal prompt:
- da qualsiasi cartella scrivo "java" mi da la lista delle opzioni (quindi mi riconosce il comando - "javac" è riconosciuto solo dentro la cartella "bin" - "java" non funziona, da errore class not found anche per un file semplice che stampa "ciao" - "javac" funziona se uso il comando da dentro la cartella "bin" e scrivo "javac c:\..percorsofile\file.java" dovrebbero essere cose banali.. |
22-02-2010, 18:23 | #6 |
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2745
|
Prova a mettere i percorsi che contengono degli spazi tra virgolette "" (intendo nella variabile path).
Il motivo per cui java funziona e javac no è che il file java si trova anche in altri percorsi oltre che dentro il jdk. Nel mio caso ce n'è uno anche nella cartella system32 |
22-02-2010, 18:31 | #7 |
Senior Member
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1383
|
leva gli spazi intorno ai punti e virgola nella variabile PATH: i percorsi devono essere separati solo da punti e virgola, senza spazi. i percorsi comunque possono contenere spazi anche se non sono tra apici.
|
22-02-2010, 18:39 | #8 |
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2745
|
Sì, hai ragione, ho guardato la mia variabile path e alcuni percorsi hanno le virgolette altri no, quindi è indifferente.
|
22-02-2010, 18:51 | #9 |
Member
Iscritto dal: Jun 2007
Messaggi: 163
|
a prescindere dal discorso della variabile path, per cui il comando java lo riconosce mentre javac no, il fatto è che dal prompt da dentro la cartella bin:
- javac funziona, quindi compila (usando: javac c:\..percorsofile\file.java) - java non funziona, da errore di class not found ecc.. (usando: java c:\..percorsofile\file.class) questo per un semplice file che stampa "ciao" come si spiega? Ultima modifica di soundsgood : 22-02-2010 alle 18:53. |
22-02-2010, 19:04 | #10 |
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2745
|
Non devi scrivere .class quando usi java
|
22-02-2010, 19:07 | #11 |
Member
Iscritto dal: Jun 2007
Messaggi: 163
|
non cambia la cosa..
sto vedendo che anche gli altri comandi presenti dentro C:\Program Files\Java\jdk1.6.0_18\bin non sono riconosciuti se li chiamo da un'altra cartella dal prompt ci sta qualcosa che non va nella variabile path Va bene anche se è scritta "Path"? o deve essere tutta maiuscola? |
22-02-2010, 19:40 | #12 |
Senior Member
Iscritto dal: Feb 2010
Messaggi: 466
|
se provi ad andare nella cartella del programma
cd c:\..percorsofile\ e provi a eseguire il programma java .\file.class oppure java .\file ??? |
22-02-2010, 19:45 | #13 |
Senior Member
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1383
|
i comandi java e javaw come parametri non vogliono il percorso del file .class, bensi il classpath e il nome pienamente qualificato della classe contenente il main. mettiamo per esempio che io abbia una cartella C:\MyProject\bin, la quale contiene un file Main.class nella sottocartella it\company\project\main, quindi il percorso completo del file é:
C:\MyProject\bin\it\company\project\main\Main.class ed il file contiene una classe il cui nome pienamente qualificato é: it.company.project.main.Main la chiamata al comando java dovrá risultare: java -cp C:\MyProject\bin it.company.project.main.Main |
22-02-2010, 20:58 | #14 |
Member
Iscritto dal: Jun 2007
Messaggi: 163
|
risolto: andava tolto lo spazio tra un percorso ed un altro, ogni percorso deve essere separato da ";" senza spazi (lo spazio puo essere dentro il percorso)
approfitto per fare una domanda: quando in un percorso ci sta .;"percorso" a cosa serve il punto? deve stare attaccato al ; ? percorso deve stare a forza tra virgolette? |
22-02-2010, 22:51 | #15 |
Senior Member
Iscritto dal: Mar 2007
Messaggi: 7863
|
il "." indica la directory corrente.
|
23-02-2010, 20:30 | #16 | |||
Senior Member
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1383
|
Quote:
Quote:
Quote:
|
|||
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 22:08.