Torna indietro   Hardware Upgrade Forum > Software > Programmazione

AWS annuncia European Sovereign Cloud, il cloud sovrano per convincere l'Europa
AWS annuncia European Sovereign Cloud, il cloud sovrano per convincere l'Europa
AWS è il principale operatore di servizi cloud al mondo e da tempo parla delle misure che mette in atto per garantire una maggiore sovranità alle organizzazioni europee. L'azienda ha ora lanciato AWS European Sovereign Cloud, una soluzione specificamente progettata per essere separata e distinta dal cloud "normale" e offrire maggiori tutele e garanzie di sovranità
Redmi Note 15 Pro+ 5G: autonomia monstre e display luminoso, ma il prezzo è alto
Redmi Note 15 Pro+ 5G: autonomia monstre e display luminoso, ma il prezzo è alto
Xiaomi ha portato sul mercato internazionale la nuova serie Redmi Note, che rappresenta spesso una delle migliori scelte per chi non vuole spendere molto. Il modello 15 Pro+ punta tutto su una batteria capiente e su un ampio display luminoso, sacrificando qualcosa in termini di potenza bruta e velocità di ricarica
HONOR Magic 8 Pro: ecco il primo TOP del 2026! La recensione
HONOR Magic 8 Pro: ecco il primo TOP del 2026! La recensione
HONOR ha finalmente lanciato il suo nuovo flagship: Magic 8 Pro. Lo abbiamo provato a fondo in queste settimane e ve lo raccontiamo nella nostra recensione completa. HONOR rimane fedele alle linee della versione precedente, aggiungendo però un nuovo tasto dedicato all'AI. Ma è al suo interno che c'è la vera rivoluzione grazie al nuovo Snapdragon 8 Elite Gen 5 e alla nuova MagicOS 10
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: 466
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: 466
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: 2785
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: 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.
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: 2785
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: 2785
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: 466
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: 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
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: 7863
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: 1383
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


AWS annuncia European Sovereign Cloud, il cloud sovrano per convincere l'Europa AWS annuncia European Sovereign Cloud, il cloud ...
Redmi Note 15 Pro+ 5G: autonomia monstre e display luminoso, ma il prezzo è alto Redmi Note 15 Pro+ 5G: autonomia monstre e displ...
HONOR Magic 8 Pro: ecco il primo TOP del 2026! La recensione HONOR Magic 8 Pro: ecco il primo TOP del 2026! L...
Insta360 Link 2 Pro e 2C Pro: le webcam 4K che ti seguono, anche con gimbal integrata Insta360 Link 2 Pro e 2C Pro: le webcam 4K che t...
Motorola edge 70: lo smartphone ultrasottile che non rinuncia a batteria e concretezza Motorola edge 70: lo smartphone ultrasottile che...
C'è un boom del mercato dei data ...
OVHcloud annuncia la disponiiblità...
Il Wi-Fi 7 ha un nuovo re: da ASUS arriv...
In arrivo l'auto "Frankenstein"...
Chip NVIDIA H200 in Cina? 'Come vendere ...
iPhone 16 torna super conveniente: ora c...
Offerte Amazon pazzesche: tech, smartpho...
Ubisoft annuncia l'arrivo dei 60 fps per...
Infratel Italia: ecco la nuova mappa del...
Hoover HMC5 in offerta: il battimaterass...
Un'idea 'rivoluzionaria' dal Politecnico...
Steam ha registrato un record di ricavi ...
'Quando sei pronto… vai': ChatGPT sotto ...
Razer: l'intelligenza artificiale piace ...
Disastro Rad Power Bikes: incendio al ma...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
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 +1. Ora sono le: 17:27.


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