View Full Version : Java Classpath
Ho effettuato una ricerca sul forum sull'argomento ma non sono riuscito a capire.
Ho Win xp professional. Ho installato l'sdk e come editor Java JCreator Le. Sul Pannello di controllo ho l'icona della tazzina e su internet visualizzo le applet. Ma se provo a creare un applet non riesce ad avviarsi proprio perchè non ho ben capito come settare la classpath come variabile d'ambiente. Per la path non ci sono problemi perchè mi è abbastanza chiaro. Ma la classpath? Forse ci dovrei scrivere il percorso dove i file vengono salvati dall'editor tipo C:\Programmi\Xinox Software\JCreator LE\MyProjects(.;C:\Programmi\Xinox Software\JCreator LE\MyProjects;), ho provato ma non mi funziona. Devo indicare dove sono le librerie?Quali? E come si fa?
:mc:
Non è detto che sia un problema di classpath, dipende dal messaggio di errore che ti ritrovi quando cerchi di eseguire l'applicazione o compilare il sorgente.
Cmq, il classpath è una variabile d'ambiente definita dall'utente che contiene il percorso in cui la jvm troverà le classi necessarie all'esecuzione del programma che comprendono il "core" java (rt.jar) e la cartella in cui si trovano i file class del tuo programma.
Per includere le classi standard del jdk è sufficiente puntare il classpath a "C:\j2sdk1.4.2\jre\lib" o equivalente sul tuo sistema.
Il percorso del tuo programma lo puoi impostare in esecuzione con l'opzione -classpath di java.exe
java -classpath "C:\j2sdk1.4.2\jre\lib;c:\miacartella\mioprogramma\" Classe
Di solito però java.exe include la directory di esecuzione automaticamente nel percorso di ricerca delle class.
Prima di creare una variabile di sistema ti converrebbe però fare un paio di prove usando l'opzione -classpath il cui valore può dipendere da eventuali API non-standard presenti sul tuo sistema (ad esempio il JMF2.1 per Windows genera da solo un classpath, il JMF2.1 AllJava no, bizzarrie che fanno piacere :D)
&Ciao.
Il messaggio di errore che appare nella Java Console quando cerco di eseguire l'applicazione è il seguente: caricamento: classe nomeClasse.class non trovata. java.lang.ClassNotFounException. java.io.FileNotFoundException. - E qui mi dice il percorso del mio applet che è registrato su - c:\programmi\xinox software\jcreator le\my projects\dir\classes\miofile.htm (Impossibile trovare il percorso specificato).
Puoi aiutarmi?
P.S.: com'è che si fanno le prove usando l'opzione -classpath?
se quel "nomeClasse.class" corrisponde al nome della tua classe è un problema di posizionamento del file class rispetto alla pagina html.
Se viceversa è un nome tipo "java/lang/String" ClassNotFoundException" è un problema di java.
Tanto per sincerarsi delle condizioni del tuo jdk (e delle sue variabili), prova a compilare un sorgente java che non sia un applet ed eseguirlo. (es.)
class Prova {
public static void main(String[] a) {
System.out.println(System.getProperty("java.class.path"));
System.exit(0);
}
}
L'opzione -classpath è valida solo per java.exe e javac.exe ma non per appletviewer (utility per visualizzare solo gli applet contenuti in pagine html). IL suo uso è:
java -classpath "directory1;directory2;directory3" NomeClasse
Per quanto riguarda il tuo applet, il file .class dovrebbe essere nella stessa directory della pagina html (o in un "ramo" inferiore).
Controlla anche che nel tag <APPLET... della pagina html il nome del file class sia scritto correttamente, alle volte una c minuscola sfugge e fa perdere un sacco di tempo.
Per controllare le impostazioni correnti della jvm associata al browser internet puoi aprire la consolle java e premere "s": compare una lista di proprietà in cui dovresti trovare anche i valori per il "class path"
&Ciao
Grazie. Farò queste prove
Setta il codebase dell'applet!
Originariamente inviato da cn73
Setta il codebase dell'applet!
Sintetico ma efficace :D
In effetti esiste un attributo del tag <APPLET> (e lo stesso per il plug-in) che identifica il percorso in cui risiedono i file class dell'applet. Non l'ho mai usato ma credo che la sintassi sia
..CODEBASE="directory_o_url".
Prova con questo se i file class sono in una cartella diversa da quella che contiene la pagina html.
&Ciao.
Grazie per i vostri suggerimenti. Appena potrò vi farò sapere.
:) ;)
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.