Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1

    Problema CLASSPATH

    Salve giovani!

    Mi sono iscritto a questo forum e quindi scrivo questo messaggio perchè ho un problema con il java: quando eseguo un qualsiaisi file.java mi esce sempre lo stesso errore:

    Exception in thread "main" java.lang.NoClassDefFoundError: Determinate/Java

    Ho sentito e letto in giro che poterbbe essere un problema riguardante l'impostazione del CLASSPATH nelle variabili d'ambiente del sistema, ma non so come fare...

    Potete darmi una mano? Grazie ^^

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Problema CLASSPATH

    Originariamente inviato da The_Real_Gimmy
    Mi sono iscritto a questo forum e quindi scrivo questo messaggio perchè ho un problema con il java: quando eseguo un qualsiaisi file.java mi esce sempre lo stesso errore:

    Exception in thread "main" java.lang.NoClassDefFoundError: Determinate/Java

    Ho sentito e letto in giro che poterbbe essere un problema riguardante l'impostazione del CLASSPATH nelle variabili d'ambiente del sistema, ma non so come fare...
    Nella variabile di ambiente CLASSPATH, hai il "." (punto) che specifica la directory corrente??
    La tua classe fa parte di un package??? Se hai una classe Main dentro un package pippo.pluto, allora la devi avviare con: java pippo.pluto.Main
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    La variabile d'ambiente l'ho impostat così:

    C:\Programmi\Java\jdk1.5.0_06\lib\tools.jar

    Nel file.java che compilo ed eseguo non c'è il main, ma cmq ho provato a compilare ed eseguire un file che abbia il main, ma l'errore all'esecuzione è sempre lo stesso.

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da The_Real_Gimmy
    La variabile d'ambiente l'ho impostat così:

    C:\Programmi\Java\jdk1.5.0_06\lib\tools.jar
    Non serve mettere questo jar in CLASSPATH, Java sa già dove trovarlo.
    Il minimo che dovresti mettere, ripeto, è il punto "." per indicare la directory corrente.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Intendi dire che al posto del percosro C:\Programmi\Java\jdk1.5.0_06\lib\tools.jar dovrei mettere solo un punto '.' ? Senza aggiungere niente?

  6. #6
    1)Il classpath di un'applicazione java NON E' la variabile d'ambiente PATH in windows
    2)I file .java sono file DI CODICE e per eseguirli li devi prima compilare ottenendo un corrispondente file .class
    3)Per eseguire un file .class (sempre a patto che non si trovi in un package, non abbia librerie esterne cui si riferisce e habbia un metodo main) devi scrivere:
    codice:
    java NomeFileConEstensioneClass
    senza mettere l'estensione, cioè NON così

    codice:
    java NomeFileConEstensioneClass.class
    Ho fatto queste precisazioni perchè ho l'impressione ch etu abbia tentato di esguire un programma java semplicemente lanciando il fil di codice così:

    codice:
    java NomeFileConEstensioneJava.java
    il che non può che portare ad un errore ovviamente. Se non è così restano validi i suggerimenti che ti sono già stati dati dagli altri.
    Il centro dell'attenzione non è sempre un buon posto in cui trovarsi

    Mai discutere con uno stupido, la gente potrebbe non capire la differenza. (O. W.)

  7. #7
    mmh... ma allora perche alcuni file.java vengono esguiti digitando

    java nomefile.java

    ?

    Quindi per esguire il file pippo.java con file classe pippo.class devo digitare

    java pippo

    ?

    Pero ora come reimposto il classpath nelle variabili d'ambiente di sistema? Visto che ho cambiato diverse volte percorso...

  8. #8
    Originariamente inviato da The_Real_Gimmy
    mmh... ma allora perche alcuni file.java vengono esguiti digitando

    java nomefile.java

    ?

    Quindi per esguire il file pippo.java con file classe pippo.class devo digitare

    java pippo

    ?

    Pero ora come reimposto il classpath nelle variabili d'ambiente di sistema? Visto che ho cambiato diverse volte percorso...
    Quindi hai un po di confusione come pensavo. Il file con estensione .java sono i file di codice sorgente, cioè contengono le istruzioni scritte a mano dal programmatore. Il pc ovviamete non è in grado di eseguirle direttamente (è esattamente come accade ad esempio in C), c'è bisogno di compilare questi file sorgente ottenendo dei fil di bytecode (.class). Questi ultimi sono invece comprensibili dall'interprete java e sono questi che vanno eseguiti.

    Per compilare un file java ottenendo un file class devi usare il compilatore javac.exe (nota la "c" finale), per eseguire il file class così ottenuto devi usare java.exe.

    quindi i passi sono:

    1) Scrivi il codice in un file di testo e lo salvi con estensione .java ottenendo MioFile.java (assicurati che la classe che hai scritto al suo interno si chiami MioFile e che abbia il metodo main)
    2)lo compili con
    codice:
    javac MioFile.java
    ottenendo il file MioFile.class
    3) Lo esegui con
    codice:
    java MioFile
    senza l'estensione. class .Studia da un libro perchè impari molto più velocemente che dal forum.
    Il centro dell'attenzione non è sempre un buon posto in cui trovarsi

    Mai discutere con uno stupido, la gente potrebbe non capire la differenza. (O. W.)

  9. #9
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da The_Real_Gimmy
    mmh... ma allora perche alcuni file.java vengono esguiti digitando

    java nomefile.java
    Ma no ... non esiste!!! Dove l'hai visto??? VVoVe:
    Semmai:
    javac nomefile.java
    javac è il comando del compilatore Java.

    Originariamente inviato da The_Real_Gimmy
    Quindi per esguire il file pippo.java con file classe pippo.class devo digitare

    java pippo
    javac pippo.java
    poi
    java pippo

    Ancora una precisazione: se nel file sorgente c'è una classe marcata public, il nome del file .java deve corrispondere esattamente con il nome della classe.

    Originariamente inviato da The_Real_Gimmy
    Pero ora come reimposto il classpath nelle variabili d'ambiente di sistema? Visto che ho cambiato diverse volte percorso...
    Per il momento metti CLASSPATH che contenga il punto ".". Come impostarlo ... dipende dal SO. Se hai Win2K/XP vai nelle "Proprietà del sistema", pagina "Avanzate" poi "Variabili d'ambiente". Ma non dovrei nemmeno spiegarlo.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  10. #10
    mmh... strano... grazie ^^

    cmq sia, eseguendo il file scrivendo java nomefile mi da sempre lo stesso errore che mi dava all'inzio... forse dovrei reimpostare il eprcorso del classpath, avendolo modificato... O_O

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.