Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2008
    Messaggi
    4

    classpath x java virtual machine

    mi si sta verificando un problema stranissimo. ho 2 pc entrambi con l'xp home ed ho la necessità di poter programmare in java su entrambi. al momento dell'installzione del java development kit ho impostato il classpath di windows come spiegato su vari siti in rete ma, con le stesse identiche impostazioni, su un pc funziona tutto correttamente, e posso compilare ed eseguire qualsiasi programma, mentre sul computer dal quale sto scrivendo non ho problemi a compilare, ma QUALSIASI programma io provi a eseguire mi si presenta la seguente exception:

    Exception in thread "main" java.lang.NoClassDefFoundError (anche eseguendo un semplicissimo HelloWorld!!!)

    cercando con google mi sembra di aver capito che messaggi d'errore del genere siano sempre ricollegabili a come viene settato il classpath, ma nel mio caso mi pare stranissimo, perchè l'ho settato nello stesso identico modo anche nel pc in cui funziona. un dubbio che mi è venuto è ho osservato che il classpath si può settare in 2 maniere diverse (e equiavalenti?), vi riporto le mie impostazioni:

    digitando sysedit da start esegui il mio file AUTOEXEC.BAT ha il seguente contenuto:

    SET CLASSPATH=%CLASSPATH%;C:\Programmi\Java\jdk1.6.0_0 4\bin;.

    e andando su risorse del computer-proprietà-avanzate-variabilid'ambiente quella chiamata CLASSPATH ha il seguente contenuto:

    C:\Programmi\Java\jdk1.6.0_04\bin\;.

    i 2 sistemi di impostare il classpath sono equivalenti? e nel caso il problema sia riconducibile a questo ho sbagliato qualcosa? oppure non c'entra il classpath?

    grazie e scusate se mi sono espresso in modo confuso..

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

    Re: classpath x java virtual machine

    Originariamente inviato da silv3rR
    digitando sysedit da start esegui il mio file AUTOEXEC.BAT
    Innanzitutto sui sistemi NT/2000/XP ecc..., l'AUTOEXEC.BAT non serve poi più a molto .... se vuoi cambiare le variabili di ambiente: Pannello di controllo -> Sistema -> Avanzate -> Variabili d'ambiente

    Originariamente inviato da silv3rR
    SET CLASSPATH=%CLASSPATH%;C:\Programmi\Java\jdk1.6.0_0 4\bin;.
    Stai facendo un bel po' di confusione. La directory 'bin' del JDK va messa in PATH non CLASSPATH. Sono 2 cose diverse.

    Per il classpath: Setting the class path
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2008
    Messaggi
    4
    adesso farò la figura dello stupido, ho capito quello che hai scritto, ma mi potresti dire concretamente cosa fare? ho letto sul link al sito della javasun, ma diciamo che se come hai detto giustamente faccio confusione sui concetti di path/classpath non riesco ancora ad avere una visione chiara..

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    PATH è la variabile di ambiente che elenca le directory in cui il sistema andrà a cercare eseguibili e librerie "native" (.exe/.dll) quando si fa riferimento ad uno di questi file senza specificare un path completo. Ecco perché la directory 'bin' del JDK la devi aggiungere nell'elenco delle directory in PATH. Se apri un prompt dei comandi poi puoi digitare semplicemente 'javac', 'java' (e gli altri tools nella 'bin') senza dover specificare il path completo del JDK!

    CLASSPATH invece è specifico per Java. È un elenco di directory e file .zip/.jar in cui la Java Virtual Machine andrà a cercare i file .class.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2008
    Messaggi
    4
    ora ho capito.. il problema però è che, anche se non l'ho postato, prima che scrivessi avevo già impostato la varaiabile d'ambiente Path con questo contenuto:

    C:\Programmi\Java\jdk1.6.0_04\bin\

    dici che sia un altro problema? un messaggio d'errore del genee può essere riconducibile solo a questo? mi puoi postare come l'hai impostata esattamente tu sul stuo pc? grazie infinite, sei gentilissimo..

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da silv3rR
    prima che scrivessi avevo già impostato la varaiabile d'ambiente Path con questo contenuto:

    C:\Programmi\Java\jdk1.6.0_04\bin\
    Chiaramente spero che tu l'abbia aggiunta al PATH. Dubito che hai un sistema in cui PATH sia "vuoto" o non esiste. Io tra installazioni varie di applicazioni e cose che ho impostato io, nella PATH ho almeno una ventina di directory!

    Originariamente inviato da silv3rR
    dici che sia un altro problema? un messaggio d'errore del genee può essere riconducibile solo a questo?
    No, quella eccezione NoClassDefFoundError riguarda il CLASSPATH.
    Leggi anche questo mio post.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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.