Visualizzazione dei risultati da 1 a 8 su 8

Discussione: problemi con CLASSPATH

  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    123

    problemi con CLASSPATH

    Ciao a tutti, sono alle prime armi in Java e come libro di testo stò utilizzando Thinking in Java e su di esso ci sono vari esempi solo che quando li provo a far partire su NetBeans non vanno e mi danno l'errore alla seguente riga ("import com.bruceeckel.simpletest.*;") dicendomi che quel package non esiste...allora io ho scaricato tutti i sorgenti del libro, poi ho creato la variabile d'ambiente CLASSPATH e gli ho messo il percorso in cui ho posizionato i codici sorgenti del libro ma non funziona ancora...
    Sicuramente sarà una cavolata dovuta al fatto che sono alle prime armi, ma da solo questa volta non riesco, è da tre ore buone che provo a togliermi questo problema ma niente da fare, quindi questa volta ho bisogno del Vostro aiuto.
    Grazie a tutti.

  2. #2
    Utente di HTML.it L'avatar di Pastore12
    Registrato dal
    Oct 2008
    Messaggi
    1,051
    Non è chiara una cosa.. tu dici di aver scaricato tutto il possibile e di averlo messo in classpath.
    Ci sono due possibilità:

    1. Tra ciò che hai scaricato non c'è il package com.bruceeckel.simpletest (in un file jar o come cartella di file .class, per intenderci..)
    2. La classpath che hai impostato non è corretta.

    Quindi... controlla e posta... ciao!
    "Ethics are to me something private. Whenever you use it as an argument for why somebody_else should do something, you’re no longer being ethical, you’re just being a sanctimonious dick-head"
    Linus Torvalds

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    123
    Allora io ho scaricato tutti i codici che sono presenti anche sul libro, e quando li ho scaricato erano in .zip quindi li ho scompattati e messi all'interno del seguente percorso C:\TWI\libro_java\sorgenti e poi sono andato a creare il classpath nelle variabili d'utente e gli ho inserito il seguente valore :

    .\.;C:\TWI\libro_java\sorgenti

    - all'interno della cartella sorgenti oltre ad avere tutte le cartelle c02,c03...(che indicano i vari capitoli con rispettivi codici), ho anche cartella com, che contiene cartella bruceeckel e build.xml,poi la cartella bruceeckel contiene altre altre 5 sottocartelle che sono simple,simpletest,swing,tools,util e per esempio simple contiene al suo interno List.java e Vector.java.

    Sono stato abbastanza chiaro o hai bisogno di sapere anvora qualcos'altro.
    -ovviamente la mia variabile di sistema path contiene il seguente : C:\Programmi\Java\jdk1.6.0_10\bin;

  4. #4
    Utente di HTML.it L'avatar di Pastore12
    Registrato dal
    Oct 2008
    Messaggi
    1,051
    Non è ancora chiara la classpath... che non è la path...

    Ovviamente se la path non conteneva quel che contiene non saresti stato neppure capace di lanciare javac.exe.

    Ti consiglio di guardare la configurazione della classpath per i comandi java e javac:

    http://java.sun.com/j2se/1.4.2/docs/...dows/java.html
    http://java.sun.com/j2se/1.4.2/docs/...ows/javac.html

    Ciao!
    "Ethics are to me something private. Whenever you use it as an argument for why somebody_else should do something, you’re no longer being ethical, you’re just being a sanctimonious dick-head"
    Linus Torvalds

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    123
    si si. lo so che sono due cose diverse classpath e path...e comunque la mia classpath contiene solamente quello che ti ho postato nel messaggio precedente...quindi te dici che gli devo aggiungere altro?
    scusa la mia ignoranza ma essendo alle prime armi, questo classpath mi stà facendo impazzire.
    grazie della pazienza, Pastore 12

  6. #6
    Utente di HTML.it L'avatar di Pastore12
    Registrato dal
    Oct 2008
    Messaggi
    1,051
    Ok.. per stavolta ti perdono..

    Ti ripeto: guarda la documentazione.
    puoi compilare o eseguire una applicazione java specificando da linea di comando il parametro -classpath.

    oppure puoi anche definire la classpath una volta per tutte:

    http://java.sun.com/j2se/1.5.0/docs/...classpath.html

    ma io preferirei fare un file .bat apposta per il tuo progetto che aggiunga il -classpath alla chiamata java e javac

    mi pare che nel forum di Notepad++ ci fosse qualche bel esempio, ma ora non mi riesce di trovare nulla..
    "Ethics are to me something private. Whenever you use it as an argument for why somebody_else should do something, you’re no longer being ethical, you’re just being a sanctimonious dick-head"
    Linus Torvalds

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    123
    ho letto tutto, ma non ci capisco quasi nulla...ho provate a fare altri tentativi ma niente...ringrazio tutti per l'aiuto che mi avete provato a darmi...questo classpath rimarrà un tallone d'achille per me...

  8. #8
    Utente di HTML.it L'avatar di Pastore12
    Registrato dal
    Oct 2008
    Messaggi
    1,051
    Ti faccio un esempio, magari capisci...

    Specifying a User Class Path

    Having changed one of the source files in the previous example, we recompile it:

    C:> cd
    \examples
    C:> javac greetings\Hi.java

    Since greetings.Hi refers to other classes in the greetings package, the compiler needs to find these other classes. The example above works, because our default user class path happens to be the directory containing the package directory. But suppose we want to recompile this file and not worry about which directory we're in? Then we need to add \examples to the user class path. We can do this by setting CLASSPATH, but here we'll use the -classpath option.

    C:>javac -classpath \examples \examples\greetings\Hi.java

    If we change greetings.Hi again, to use a banner utility, that utility also needs to be accessible through the user class path.

    C:>javac -classpath \examples;\lib\Banners.jar \
    \examples\greetings\Hi.java

    To execute a class in greetings, we need access both to greetings and to the classes it uses.

    C:>java -classpath \examples;\lib\Banners.jar greetings.Hi



    Quindi... supponiamo che tu abbia la cartella

    c:\java\project\test\Librerie\com\bruceeckel\simpl etest\

    che contiene i file .class

    e che in:

    c:\java\project\test\

    ci sia il tuo test.java

    allora per compilare userai:
    codice:
    javac -classpath "\Librerie" test.java
    Beh.. più o meno dovrebbe essere così.. insomma... (le virgolette dovrebbero essere necessarie se nel percorso relativo ci sono spazi)
    Purtroppo non ho più dimestichezza con queste cose...
    "Ethics are to me something private. Whenever you use it as an argument for why somebody_else should do something, you’re no longer being ethical, you’re just being a sanctimonious dick-head"
    Linus Torvalds

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