PDA

View Full Version : [Java] Applet funziona solo con appletviewer


toshi10
06-01-2011, 15:50
Non riesco a far vedere al mio applet le librerie esterne necessarie. Con l'appletviewer tutto funziona ma usando il browser no.
Ho messo nella mia cartella test_applet il jar contenente le classi del mio applet (TreC-Vis.jar) e altri quattro jar che sono le librerie usate da TreC-Vis, oltre al file html, di cui riporto il codice relativo al tag applet:
<applet code="gui.Gui" archive="TreC-Vis.jar,postgresql-8.4-701.jdbc4.jar,postgis_1.5.0.jar,jfreechart-1.0.13.jar,jcommon-1.0.16.jar" width="1024" height="768"> </applet>
La console Java mi dà dei messaggi del tipo:

network: Voce cache non trovata [url: file:/C:/Documents%20and%20Settings/.../test_applet/postgresql-8.4-701.jdbc4.jar, versione: null]

relativi a ciascuna delle quattro librerie, e poi una serie di

java.io.FileNotFoundException: C:\Documents and Settings\...\test_applet\org\postgis\PGgeometry.class (Impossibile trovare il percorso specificato)

Perchè l'applet non vede le librerie? Aggiungo che nel progetto Eclipse le librerie in questione sono nella cartella lib, che è allo stesso livello del package src, ma quando esporto il progetto Eclipse nel file jar (TreC-Vis.jar) tale cartella lib non è inclusa nel file jar.
Come soluzione di riserva ho pensato alla possibilità di mettere tutto in un unico jar, applet e librerie, e ho trovato a questo indirizzo http://download.oracle.com/javase/tutorial/deployment/jar/downman.html delle possibili risposte. In questo caso mi aiuterebbe qualche esempio per scrivere il "custom code" di cui parla nella nota.
Grazie mille a chi mi saprà consigliare.

toshi10
11-01-2011, 13:23
Riformulo il problema con una domanda più chiara e precisa: come modificare questo comando
jar cfm MyApplet.jar Manifest.txt MyPackage/*.class
in modo da aggiungere tutti i package del mio applet (ne sono quattro)? In tal modo avrei risolto perchè creerei un jar con i package del mio applet e il manifest personalizzato che referenzia le librerie esterne, giusto?

toshi10
11-01-2011, 19:50
Risolto.

slincett
11-03-2011, 12:30
Ciao, ho il tuo stesso problema :muro: . Puoi spiegare come hai fatto a risolvere? Grazie.