Newsgroup: it.comp.java
Titolo: db2java.zip / mail.jar

Salve a tutti,
sto sviluppando un applicativo che si collega a db2 ed invia una mail.
Per lo sviluppo utilizzo le librerie di cui in oggetto. In particolare
per la connessione a db2 utilizzo il driver
COM.ibm.db2.jdbc.app.DB2Driver
Il codice fa tutto il suo dovere se testato in ambiente di sviluppo
(Eclipse). Il problema nasce quando genero il jar (con Fat Jar) e
lancio l'applicativo in "ambiente produzione". Ottengo infatti
un'eccezione di classe non trovata per la connessione a db2.
La cosa strana è che togliendo il codice per l'invio della mail e
anche il file mail.jar dal classpath la connessione al db funziona.
Togliendo il codice per la connessione a db2 ed anche il file
db2java.zip dal classpath, l'invio della mail funziona.
Come se ci fosse un qualche tipo di incompatibilità fra db2java.zip e
mail.jar
A qualcuno è capitato qualcosa del genere? E soprattutto... come ha
risolto?
Saluti e grazie 1000.

 Saluti e grazie 1000.
posta lo stacktrace
-- 
Davide Consonni

 Davide Consonni
Eccolo:
java.lang.ClassNotFoundException: COM.ibm.db2.jdbc.app.DB2Driver
	at java.net.URLClassLoader$1.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at java.lang.ClassLoader.loadClassInternal(Unknown Source)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Unknown Source)
	at mypackage.sottoscorta.Connessione.<init>(Connessione.java:56)
	at mypackage.sottoscorta.Main.main(Main.java:87)
Il driver COM.ibm.db2.jdbc.app.DB2Driver da db2java.zip non viene
caricato, ed è come se non venisse proprio trovato pur essendo incluso
nel classpath del progetto Eclipse.
Aggiungo inoltre che caricando un altro driver
(sun.jdbc.odbc.JdbcOdbcDriver) e connettendosi con questo a db2, sia
la connessione che l'invio della mail riescono senza problemi...
Thanks!

 nel classpath del progetto Eclipse.
perchè db2java.zip ? le librerie java sono .jar
-- 
Davide Consonni

 Davide Consonni
db2java.zip è la libreria distribuita da ibm per l'accesso a db2 (in
realtà i file jar non sono altro che file compressi con la stessa
tecnica di winzip), e contiene per esempio i driver da caricare per la
connessione (COM.ibm.db2.jdbc.app.DB2Driver appunto).

luss wrote:

eh ma non è che fa casino appunto perchè ha estensione .zip invece
che .jar ?
-- 
Davide Consonni

 Davide Consonni
non saprei, tutto può essere, però mi pare strano dover "manomettere"
una libreria ibm...
in ogni caso ho provato a rinominare la libreria zip in jar e a
includerla nel progetto, ma il risultato non cambia ed il messaggio di
errore è sempre quello postato poco sopra...

e senza fatjar ?
-- 
Davide Consonni


Purtroppo senza fatjar non riesco a creare un jar funzionante.

errore è sempre quello postato poco sopra...
Il messaggio parla chiaro: non viene trovata la classe... perchè non ricorri 
a javaws per distribuire l'applicazione ? Che vantaggi ti dà fatjar ?
Scorpio. 

 ha scritto nel messaggionews:bdfd8ac3-934c-45bd...@p25g2000hsf.googlegroups.com...

javaws non lo conosco. Utilizzo fatjar semplicemente perché mi è stato
indicato dai miei colleghi...

 ha scritto nel messaggionews:bdfd8ac3-934c-45bd...@p25g2000hsf.googlegroups.com...

aggiungo che fatjar è un plug-in integrato nell'ambiente di sviluppo
eclipse e che perciò la creazione del jar è piuttosto agevole.
Fondamentalmente basta indicare la classe di avvio ed includere/
escludere i file che occorrono per la creazione del jar ed il gioco è
fatto: nella cartella specificata viene creato il jar del progetto!

 ha scritto nel messaggionews:bdfd8ac3-934c-45bd...@p25g2000hsf.googlegroups.com...

aggiungo che fatjar è un plug-in integrato nell'ambiente di sviluppo



Ho anche io lo stesso tipo di problema. Nel mio caso ho sviluppato un 
semplicissimo plugin che inoltra mail usando la libreria mail.jar.
Poi ho sviluppato un altrettanto semplice plugin rcp con interfaccia 
grafica che mi consente di inserire dati per inviare mail.
Quest'ultimo fa uso del primo plugin sopra specificato.
Anche nel mio caso, se elimino il codice che fa uso di mail.jar tutto 
ok, altrimenti anche a me ritorna un errore che nn trova alcune classi 
tipo javax.mail.Message.
Tutto sommato nn mi spiego il perchè nn debba funzionare.

 indicato dai miei colleghi...
javaws è comodo.
Netbeans ti crea da solo il descrittore .JNLP e usando deployJava.js 
puoi distribuire da una pagina web anche verso i pc che non hanno ancora 
il JRE installato.
Vedi: 
http://andreafrancia.it/articoli/webstart/
-- 
Andrea Francia
http://andreafrancia.blogspot.com/2008/06/relazioni-molti-molti-con-jpa.html