Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Decreto Franceschini in vigore, iPhone e iPad aumentano
Decreto Franceschini in vigore, iPhone e iPad aumentano
Come ormai tutti ci aspettavamo, i rincari in seguito all'entrata in vigore della nuova tassa di rappresaglia a firma Dario Franceschini ci sono stati. Le bugie hanno le gambe corte
NVIDIA trasforma i tablet in console con il nuovo Shield Tablet
NVIDIA trasforma i tablet in console con il nuovo Shield Tablet
NVIDIA annuncia ufficialmente il suo nuovo dispositivo dedicato al gaming, abbondantemente anticipato dai rumor. Dopo il fallimento della prima versione di Shield, cambia quasi tutti gli elementi portanti del dispositivo. L'estetica di Shield viene, infatti, confermata solo dal nuovo gamepad. Cuore del sistema sarà il chip Tegra K1.
Divinity Original Sin ci riporta ai tempi di Baldur's Gate
Divinity Original Sin ci riporta ai tempi di Baldur's Gate
Rosario e Gioacchino hanno aggiunto i loro pareri su Divinity Original Sin alla recensione scritta da Jonathan. Divinity Original Sin è un ottimo videogioco vecchio stile, come quelli in cui non avevi alcuna indicazione su come proseguire o sul luogo dove era necessario recarsi per portare a termine una quest o, ancora, dove ogni combattimento era una sfida di altissimo livello, praticamente insuperabile senza una guida. All'interno anche il video di Live Gameplay.
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: 2229
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: 2229
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: 2229
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


Decreto Franceschini in vigore, iPhone e iPad aumentano Decreto Franceschini in vigore, iPhone e iPad au...
NVIDIA trasforma i tablet in console con il nuovo Shield Tablet NVIDIA trasforma i tablet in console con il nuov...
Divinity Original Sin ci riporta ai tempi di Baldur's Gate Divinity Original Sin ci riporta ai tempi di Bal...
Sniper Elite III, recensione: contro l'Asse, nel segreto del deserto Sniper Elite III, recensione: contro l'Asse, nel...
SandForce SF3700, gli SSD di nuova generazione dovranno attendere SandForce SF3700, gli SSD di nuova generazione d...
Apple: record di ordini per il lancio di...
Project Zero torna a spaventare su Wii U
The Evil Within arriverà una sett...
Garante Privacy mette i paletti a Google...
Assassin's Creed torna su mobile con un ...
Facebook introduce Save, una nuova funzi...
Nosgoth, lo spin-off di Legacy of Kain: ...
Xiaomi Mi4 annunciato ufficialmente con ...
Huawei Ascend G750, il dual-SIM octa-cor...
Da Intel e Berkeley Lab nuovo photoresis...
HP Red: il 'tablet' Android da 16 pollic...
La beta di Destiny adesso è down: torner...
The Sims 4: 15 minuti di gameplay
Ecco chi ha vinto il premio da 5 milioni...
Facebook finalizza l'acquisizione di Ocu...
The Bat! Home Edition
Dropbox
TuneUp Utilities 2014
Mozilla Thunderbird 31
Firefox 31
Filezilla
Glary Utilities
AIDA64 Extreme Edition
Chromium
K-Lite Mega Codec Pack
Advanced x64Components per Windows 7 e
Advanced Codec per Windows 7 e 8
Standard codecs per Windows 7 e Window
AdwCleaner
PassMark BurnInTest Standard
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: 07:45.


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