Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Acquisti in pochi secondi dallo smartphone? Ecco PowaTag!
Acquisti in pochi secondi dallo smartphone? Ecco PowaTag!
PowaTag è una applicazione per smartphone e tablet che permette di effettuare acquisti online in maniera semplice, veloce e intuitiva. Il CEO di Powa ci spiega come
La compatta è morta? Il responso di Photokina 2014
La compatta è morta? Il responso di Photokina 2014
Dopo anni di valanghe di comunicati sulle nuove - e simili - fotocamere compatte, l'edizione 2014 di Photokina si fa notare per la quasi assenza di novità tra le compatte generaliste: un settore condannato a morte?
Murasaki Baby: da Varese una storia fuori dal normale
Murasaki Baby: da Varese una storia fuori dal normale
Murasaki Baby è un gioco sviluppato interamente a Varese, presso la famosa Villa Ovosonico, da una software house gestita da Massimo Guarini, uno dei principali veterani italiani dello sviluppo di videogiochi avendo lavorato per Ubisoft e con Suda 51. Ecco le nostre impressioni sul gioco di Ovosonico, un'esclusiva PS Vita.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 22-02-2010, 11:54   #1
soundsgood
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
soundsgood è offline   Rispondi citando il messaggio o parte di esso
Old 22-02-2010, 14:22   #2
bobbytre
Senior Member
 
L'Avatar di bobbytre
 
Iscritto dal: Feb 2010
Messaggi: 470
Quote:
Originariamente inviato da soundsgood Guarda i messaggi
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
aggiungi il percorso di javac alla variabile di ambiente PATH
bobbytre è offline   Rispondi citando il messaggio o parte di esso
Old 22-02-2010, 14:31   #3
soundsgood
Member
 
Iscritto dal: Jun 2007
Messaggi: 163
Quote:
Originariamente inviato da bobbytre Guarda i messaggi
aggiungi il percorso di javac alla variabile di ambiente PATH
il percorso gia lo ho aggiunto, sarebbe quello in neretto , infatti il comando javac sta dentro la cartella bin
soundsgood è offline   Rispondi citando il messaggio o parte di esso
Old 22-02-2010, 14:36   #4
bobbytre
Senior Member
 
L'Avatar di bobbytre
 
Iscritto dal: Feb 2010
Messaggi: 470
Quote:
Originariamente inviato da soundsgood Guarda i messaggi
il percorso gia lo ho aggiunto, sarebbe quello in neretto , infatti il comando javac sta dentro la cartella bin
hai provato a riavviare dopo che lo hai aggiunto ?
se si, credo di non saperti aiutare.
bobbytre è offline   Rispondi citando il messaggio o parte di esso
Old 22-02-2010, 19:11   #5
soundsgood
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..
soundsgood è offline   Rispondi citando il messaggio o parte di esso
Old 22-02-2010, 19:23   #6
wingman87
Senior Member
 
Iscritto dal: Nov 2005
Messaggi: 2268
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
wingman87 è offline   Rispondi citando il messaggio o parte di esso
Old 22-02-2010, 19:31   #7
fero86
Senior Member
 
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1388
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.
fero86 è offline   Rispondi citando il messaggio o parte di esso
Old 22-02-2010, 19:39   #8
wingman87
Senior Member
 
Iscritto dal: Nov 2005
Messaggi: 2268
Sì, hai ragione, ho guardato la mia variabile path e alcuni percorsi hanno le virgolette altri no, quindi è indifferente.
wingman87 è offline   Rispondi citando il messaggio o parte di esso
Old 22-02-2010, 19:51   #9
soundsgood
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 19:53.
soundsgood è offline   Rispondi citando il messaggio o parte di esso
Old 22-02-2010, 20:04   #10
wingman87
Senior Member
 
Iscritto dal: Nov 2005
Messaggi: 2268
Non devi scrivere .class quando usi java
wingman87 è offline   Rispondi citando il messaggio o parte di esso
Old 22-02-2010, 20:07   #11
soundsgood
Member
 
Iscritto dal: Jun 2007
Messaggi: 163
Quote:
Originariamente inviato da wingman87 Guarda i messaggi
Non devi scrivere .class quando usi java
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?
soundsgood è offline   Rispondi citando il messaggio o parte di esso
Old 22-02-2010, 20:40   #12
bobbytre
Senior Member
 
L'Avatar di bobbytre
 
Iscritto dal: Feb 2010
Messaggi: 470
se provi ad andare nella cartella del programma

cd c:\..percorsofile\

e provi a eseguire il programma

java .\file.class

oppure

java .\file

???
bobbytre è offline   Rispondi citando il messaggio o parte di esso
Old 22-02-2010, 20:45   #13
fero86
Senior Member
 
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1388
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
fero86 è offline   Rispondi citando il messaggio o parte di esso
Old 22-02-2010, 21:58   #14
soundsgood
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?
soundsgood è offline   Rispondi citando il messaggio o parte di esso
Old 22-02-2010, 23:51   #15
nuovoUtente86
Senior Member
 
Iscritto dal: Mar 2007
Messaggi: 7941
il "." indica la directory corrente.
nuovoUtente86 è offline   Rispondi citando il messaggio o parte di esso
Old 23-02-2010, 21:30   #16
fero86
Senior Member
 
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1388
Quote:
Originariamente inviato da soundsgood Guarda i messaggi
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)
non mi suona nuova...



Quote:
quando in un percorso ci sta

.;"percorso"

a cosa serve il punto?
é un percorso anche quello; é un percorso relativo alla directory corrente che si riferisce alla directory corrente.



Quote:
percorso deve stare a forza tra virgolette?
no
fero86 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Acquisti in pochi secondi dallo smartphone? Ecco PowaTag! Acquisti in pochi secondi dallo smartphone? Ecco...
La compatta è morta? Il responso di Photokina 2014 La compatta è morta? Il responso di Photokina 20...
Murasaki Baby: da Varese una storia fuori dal normale Murasaki Baby: da Varese una storia fuori dal no...
Asus GeForce GTX 970 Strix: Maxwell alla seconda prova Asus GeForce GTX 970 Strix: Maxwell alla seconda...
Forza Horizon 2: un arcade di guida con i controfiocchi per Xbox One Forza Horizon 2: un arcade di guida con i contro...
Disponibile il download di Windows 10 Te...
Hacker condannati per violazione dei sis...
Jeans con tasche più larghe: i ma...
Garmin 920XT: molte novità nel nuovo spo...
Galaxy Note 4: Samsung annuncia le date ...
È ufficiale: ci sarà un film su Tetris
Radeon R9 285X: bus memoria a 384bit per...
Moduli intercambiabili anche a dispositi...
Il gap fra display e scocca di Galaxy No...
In Windows 10 novità anche per la consol...
Google Drive for Education offre spazio ...
eBay e PayPal si separano: cambiamento p...
Windows 10 Technical Preview senza Corta...
Arriva in Italia la fibra a 300Mbps di V...
Apple nel mirino dell'UE: mega-multa mil...
AdwCleaner
Nero 2015
Avant Browser
HWiNFO64
Media Player Classic Home Cinema
Trillian Astra
Opera 25
ASTRA - Advanced Sysinfo Tool
ASTRA32 - Advanced System Information
RemoveIT Pro
K-Lite Codec Pack Update
Backup4all
VideoCacheView
Google Chrome Portable
PassMark BurnInTest Professional
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +2. Ora sono le: 22:17.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Served by www3v