Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    Errore in esecuzione

    Ciao a tutti, la "sdk1.4.2_05" da qualche settimana mi da un errore in esecuzione, cioè quando eseguo il comado "java", con qualsiasi applicazione anche utilizzando una classe banale come questa:

    public class ClasseBT {
    public static void main( String[] args) {
    System.out.println("ClasseBT");
    }
    }
    Se eseguo "javac ClasseBT.java" il compilatore non mi da nessun errore

    Invece quando eseguo "java ClasseBT" mi compare
    "Exception in thread "main" java.lang.NoClassFoundError ClasseBT"

    Cosa potrebbe essere???

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    Non è che ultimamente hai modificato (o addirittura creato) la variabile d'ambiente CLASSPATH?
    Prova ad eseguire con questo comando:
    codice:
    java -cp . ClasseBT
    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Originariamente inviato da LeleFT
    Non è che ultimamente hai modificato (o addirittura creato) la variabile d'ambiente CLASSPATH?
    Prova ad eseguire con questo comando:
    codice:
    java -cp . ClasseBT
    Ciao.
    SI, ultimamente ho creato e settato la CLASSPATH per inserire delle nuove API
    Ora per compilare dovrò usare sempre questo comando???

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,296

    Moderazione

    Il linguaggio di programmazione va specificato anche nel titolo della discussione, come descritto nel Regolamento.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  5. #5

  6. #6
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    Se il classpath è settato correttamente, ciò non dovrebbe essere necessario, però io, di solito, uso un altro sistema, per evitare la rottura di scatole del CP: non setto alcuna variabile d'ambiente CLASSPATH e quando devo utilizzare dei nuovi package, li scompatto direttamente nella cartella dell'applicazione che sto realizzando. In questo modo si ha un ulteriore vantaggio: il nuovo package verrà automaticamente inglobato nell'applicazione e, conseguentemente, verrà distribuito con essa.

    • Niente problemi di settaggi
    • Niente problemi nell'avvio delle applicazioni
    • Niente problemi di distribuzione dell'applicazione




    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  7. #7
    Originariamente inviato da LeleFT
    Se il classpath è settato correttamente, ciò non dovrebbe essere necessario, però io, di solito, uso un altro sistema, per evitare la rottura di scatole del CP: non setto alcuna variabile d'ambiente CLASSPATH e quando devo utilizzare dei nuovi package, li scompatto direttamente nella cartella dell'applicazione che sto realizzando. In questo modo si ha un ulteriore vantaggio: il nuovo package verrà automaticamente inglobato nell'applicazione e, conseguentemente, verrà distribuito con essa.

    • Niente problemi di settaggi
    • Niente problemi nell'avvio delle applicazioni
    • Niente problemi di distribuzione dell'applicazione




    Ciao.
    Devo aver settato male la variabile d'ambiente CLASSPATH - Ora ti mostro come l'ho impostata: C:\j2sdk1.4.2_05\jre\lib\ext\api1.jar;C:\j2sdk1.4. 2_05\jre\lib\ext\api2.jar

    Vedi qualche errore di forma???

    Naturalmente "api1" ed "api2" si trovano nella cartella: "C:\j2sdk1.4.2_05\jre\lib\ext"

    Altrimenti penso di fare come mi hai suggerito..

  8. #8
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    Credo che dovresti linkare nel classpath anche la directory corrente: aggiungi un punto ( . ) alla fine o all'inizio:
    codice:
    C:\j2sdk1.4.2_05\jre\lib\ext\api1.jar;C:\j2sdk1.4.2_05\jre\lib\ext\api2.jar;.
    Poi, sinceramente mi pare che nel classpath vada solo l'indicazione della directory, non il singolo package.
    Quindi, dovrebbe diventare così:
    codice:
    C:\j2sdk1.4.2_05\jre\lib\ext\;.
    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  9. #9
    Ho fatto qualche prova e finalmente ci sono arrivato
    Il metodo esatto per settare la variabile d'ambiente CLASSPATH è di indicare il percoso della cartella in cui sono contenute le api extra seguito da un punto e virgola e da un punto, cioè:

    percorsoCartella;.

    1000 grazie

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 © 2024 vBulletin Solutions, Inc. All rights reserved.