|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Apr 2006
Messaggi: 9
|
[java]creare un jar
Ciao a tutti,
ho un problema ho creato una semplice applicazione in java, utilizzando le swt,con eclipse e finche la eseguo sotto eclipse non ci sono problemi pero' se creo il jar e provo a laciarlo con il comando "java -jar filejar.jar" mi dice che mancano le librerie SWT.Qualcuno mi sa deire come si includono nel JAR. Grazie. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
I caricatori di classe standard non prelevano classi da un jar impacchettato in un altro jar dunque devi affiancare il jar delle librerie SWT al jar del tuo programma.
Per l'esecuzione puoi indicare nel file manifesto del jar eseguibile la necessità di un altro jar usando l'attributo Class-Path Codice:
Manifest-Version: 1.0 Main-Class: quel che l'è Class-Path: swt.jar Non c'è che l'imbarazzo della scelta |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Jan 2001
Città: Milano
Messaggi: 5707
|
edita il file Mainfest all'interno di jar e aggiungi una riga:
Class-Path: <swt jar path> insieme alla tua applicazione dovrai distribuire il file swt.jar e la libreria nativa nella versione adeguata (windows, linux ecc.ecc) |
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Jan 2001
Città: Milano
Messaggi: 5707
|
Quote:
[OT] ma quando ho risposto io il tuo messaggio non c'era
|
|
|
|
|
|
|
#5 |
|
Junior Member
Iscritto dal: Apr 2006
Messaggi: 9
|
Scusate se vi rompo ancora ma ho ancora qualche problema...
Ho 2 jar (il mio e l'swt) nello stesso folder e ho aggiunto al mio manifest la riga "Class-Path:swt.jar" ma quando eseguo la chiamata mi da quest'errore C:\>java -jar ema.jar Exception in thread "main" java.lang.UnsatisfiedLinkError: no swt-win32-3139 in java.library.path at java.lang.ClassLoader.loadLibrary(Unknown Source) at java.lang.Runtime.loadLibrary0(Unknown Source) at java.lang.System.loadLibrary(Unknown Source) at org.eclipse.swt.internal.Library.loadLibrary(Library.java:123) at org.eclipse.swt.internal.win32.OS.<clinit>(OS.java:18) at org.eclipse.swt.widgets.Display.<clinit>(Display.java:125) at Simple.main(Simple.java:7) la libreria swt-win32-3139 e' inclusa nel swt.jar mi sapete dire cosa sbaglio per favore |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Non sbagli nulla. Eclipse non fa una piega nell'eseguire il codice perchè Eclipse estende all'atto dell'esecuzione la tua piattaforma Java ad includere le SWT.
Tu devi fare lo stesso per distribuire la tua applicazione: estendere la piattaforma Java dell'utente ad includere tutto l'ambaradan. Abbiamo detto che i jar nei jar non funzionano. Vale lo stesso per le librerie dinamiche: non sono rilevate se incluse nei jar. Puoi piazzare la dll nella stessa cartella del jar (mi pare) e java la troverà, puoi metterla in un percorso diverso e cambiare il percorso di ricerca delle librerie dinamiche usando l'opzione -Djava.library.path=cartella, puoi infilarla come estensione permanente nella cartella /lib del JRE. |
|
|
|
|
|
#7 |
|
Junior Member
Iscritto dal: Apr 2006
Messaggi: 9
|
Grazie PGI-Bis mi hai risolto il problema!!!!!
|
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Mar 2005
Città: ~
Messaggi: 740
|
__________________
Ciao ciao cagnolino Billy MacMini late 2009, 2.53GHz, 4GB ram, 320GB hard disk, Snow Leopard 10.8.2 - iPod Nano 6th gen. XBOX Live GamerTag: InsaneMau |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 06:10.



















