PDA

View Full Version : [JAVA] Web Start+RXTX


sonic85
16-12-2009, 10:29
Ciao a tutti,
ho un problema che non riesco assolutamente a risolvere e riguarda un progetto che sto portando avanti da un pò di tempo!
Si tratta di creare un'applicazione accessibile da web che permetta di utilizzare un lettore RFID collegato alla porta seriale di un pc.
Inizialmente mi ero orientato sulla creazione di un'applet java ma poi mi sono orientato su un'applicazione basata sulla tecnologia Java Web Start poichè mi sembrava meno restrittiva.
Per comunicare con la porta seriale ho utilizzato la libreria free RXTXcomm.jar e l'ho installata correttamente sul mio pc e l'applicativo da me creato funziona correttamente.
Il problema avviene quando carico on-line l'applicazione(composta dalla libreria RXTXcomm.jar, RFIDjavaWEBSTART.jar contenente l'applicazione e il relativo file jnlp necessario per il caricamento) e provo ad accerdervi da un pc diverso dal mio.

Sulla console java visualizzo il seguente errore:

Reading certificates from 2112 http://www.miosito.org/rfidjava/RFIDjavaWEBSTART.jar | C:\Users\ Rambo\AppData\LocalLow\Sun\Java\Deployment\cache\6.0\18\15fdff52-19d4b909.idx
Reading certificates from 4766 http://www.miosito.org/rfidjava/lib/RXTXcomm.jar | C:\Users\Rambo\AppData\LocalLow\Sun\Java\Deployment\cache\6.0\50\1cc9b5b2-44c7522a.idx

java.lang.UnsatisfiedLinkError: no rxtxSerial in java.library.path thrown while loading gnu.io.RXTXCommDriver
Exception in thread "AWT-EventQueue-0" java.lang.UnsatisfiedLinkError: no rxtxSerial 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 gnu.io.CommPortIdentifier.<clinit>(CommPortIdentifier.java:83)
at demo.RFIDTag.gestionePorte(rfidjava.java:496)
at demo.WebStartDemo.bApriActionPerformed(WebStartDemo.java:228)
at demo.WebStartDemo.access$000(WebStartDemo.java:18)
at demo.WebStartDemo$1.actionPerformed(WebStartDemo.java:61)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)


Non capisco proprio questo errore e non so cosa potrei fare.
Accetto qualsiasi consiglio o suggerimento!!:help: :help: :help: :help: :help:

PGI-Bis
16-12-2009, 12:51
ti manca una dll

rxtxSerial. [so/dll]

Verifica l'attributo nativelib del tuo descrittore jnlp.

Qui trovi un riassunto delle opzioni di jnlp.

http://java.sun.com/javase/6/docs/technotes/guides/javaws/developersguide/syntax.html#intro

sonic85
16-12-2009, 13:13
ti manca una dll

rxtxSerial. [so/dll]

Verifica l'attributo nativelib del tuo descrittore jnlp.

Qui trovi un riassunto delle opzioni di jnlp.

http://java.sun.com/javase/6/docs/technotes/guides/javaws/developersguide/syntax.html#intro

Grazie, però il pacchetto RXTX mette a disposizione un solo file rxtxSerial.dll e nel link che mi hai postato è scritto:

nativelib: Specifies a JAR file that contains native libraries in it's root directory

Per caso è possibile passare un file .dll in .jar?

PGI-Bis
16-12-2009, 13:37
sì, devi mettere la dll in un jar o specificare il jar che la contiene se è già inclusa in un jar

sonic85
16-12-2009, 16:22
sì, devi mettere la dll in un jar o specificare il jar che la contiene se è già inclusa in un jar

Scusa l'ignoranza, ma nn l'ho mai fatto prima! :(!
Come si fa a creare un file Jar con dentro i file dll??? io uso Netbeans, c'è qualche comando automatico per farlo?

PGI-Bis
16-12-2009, 18:17
zippalo e poi rinomina lo zip in jar

sonic85
24-12-2009, 09:53
Grazie! è quello che mi serviva! Funziona!! :D!