Torna indietro   Hardware Upgrade Forum > Software > Programmazione

FUJIFILM X-T30 III, la nuova mirrorless compatta
FUJIFILM X-T30 III, la nuova mirrorless compatta
FUJIFILM X-T30 III è la nuvoa fotocamera mirrorless pensata per chi si avvicina alla fotografia e ricerca una soluzione leggera e compatta, da avere sempre a disposizione ma che non porti a rinunce quanto a controllo dell'immagine.
Oracle AI World 2025: l'IA cambia tutto, a partire dai dati
Oracle AI World 2025: l'IA cambia tutto, a partire dai dati
Da Las Vegas, la visione di Larry Ellison e la concretezza di Clay Magouyrk definiscono la nuova traiettoria di Oracle: portare l’intelligenza artificiale ai dati, non i dati all’intelligenza, costruendo un’infrastruttura cloud e applicativa in cui gli agenti IA diventano parte integrante dei processi aziendali, fino al cuore delle imprese europee
Micron e millisecondi: la piattaforma ServiceNow guida l'infrastruttura IT di Aston Martin F1
Micron e millisecondi: la piattaforma ServiceNow guida l'infrastruttura IT di Aston Martin F1
Dalla precisione estrema dei componenti alla gestione digitale dei processi: come la piattaforma ServiceNow consente ad Aston Martin Aramco Formula One Team di ottimizzare risorse IT e flussi operativi in un ambiente dove ogni millesimo di secondo conta
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: 2776
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: 2776
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: 2776
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


FUJIFILM X-T30 III, la nuova mirrorless compatta FUJIFILM X-T30 III, la nuova mirrorless compatta
Oracle AI World 2025: l'IA cambia tutto, a partire dai dati Oracle AI World 2025: l'IA cambia tutto, a parti...
Micron e millisecondi: la piattaforma ServiceNow guida l'infrastruttura IT di Aston Martin F1 Micron e millisecondi: la piattaforma ServiceNow...
ASUS GeForce RTX 5080 Noctua OC Edition: una custom fenomenale, ma anche enorme ASUS GeForce RTX 5080 Noctua OC Edition: una cus...
Dreame Aqua10 Ultra Roller, la pulizia di casa con un rullo Dreame Aqua10 Ultra Roller, la pulizia di casa c...
Il nuovo M5 fa la differenza anche nel g...
Le AirPods ora sono in grado di rilevare...
Oggi su Amazon succede di tutto: sconti ...
'Copilot Gaming mi spiava!': le accuse d...
Mova P50 Pro Ultra, robot aspirapolvere ...
Speciale action cam: doppio sconto solo ...
Eureka J15 Ultra conquista Amazon: aspir...
Game Pass è sempre più ric...
20 milioni di utenti contro Apple: grand...
La sonda spaziale europea ESA JUICE &egr...
La capsula Orion Integrity è stat...
Intel Nova Lake: i driver Linux svelano ...
Nothing punta sulla fascia bassa: ecco c...
Redmi Watch 6 è ufficiale: si pre...
Arriva Snapdragon 6s Gen 4: l'obiettivo ...
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: 02:41.


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