Newsgroup: it.comp.java
Titolo: NetBeans 5 e librerie

Ciao,
ho installato NetBeans 5 beta e le JDK 1.5 (ma ho fatto la prova anche con 
le 1.4). Sotto XP.
Ho realizzato un'applicazione con interfaccia grafica Swing.
La compilazione è perfetta, senza errori.
E se lo eseguo da dentro Netbeans funziona perfettamente.
Però se provo a lanciare il file JAR, che viene generato in automatico, da 
console mi spara questo errore e non parte:
Exception in thread "main" java.lang.NoClassDefFoundError: 
org/jdesktop/layout/GroupLayout$Group
        at jmac.Main.main(Main.java:27)
La classe in oggetto non l'ho usata io, ma la usa NB per gestire 
l'interfaccia grafica.
Appurato che è un problema di libreria, come lo risolvo?
Ho cercato su disco e la classe in questione esiste, ma non fa parte delle 
JDK bensì delle librerie di NB. E' contenuta all'interno di 
NBDIR\ide6\modules\org-jdesktop-layout.jar.
Ho anche impostato la variabile CLASSPATH facendola puntare alla directory 
di NB dove ci sono tutti i moduli. Senza risultati.
E all'interno del progetto di NB, quella classe già.
Dove sbaglio?
Ciao
Marco 

Ti da quella eccezione perché non trova quella libreria Classe Java. Si 
tratta del Layout, quando crei l'interfaccia e cambi il layout se metti Free 
Design utilizzi la classe GroupLayout. La soluzione al tuo problema sarebbe 
quello di includere nel Jar creato quella libreria che si trova nella 
cartella di NetBeans.
Ciao!!!
--------------------------
Nicola Amoruso
"Marco" <na...@NOPRIVATEMESSAGE.com> ha scritto nel messaggio 
news:dk7mo2$i5r$1...@news.tiscali.fr...


 creato quella libreria che si trova nella cartella di NetBeans.
Ma come si fa da dentro NetBeans?
Per il momento mi sono fatto un file .bat che mi compila tutto quanto 
(inclusa la libreria) e poi mi genera un JAR tutto-incluso.
E funziona perfettamente.
Ma non posso mettermi a fare un file .bat per ogni progetto che realizzo.
Siccome la libreria in oggetto è specifica di NB, credevo la creazione del 
JAR fosse più automatizzata. :-(
Ciao
Marco 

Netbeans ti crea il jar delle tue classi ma non ti mette le librerie che hai 
incluso nel progetto. Cmq per far funzionare la tua applicazione, ogni volta 
dovrai aggiungere al tuo progetto oltre il jar che hai realizzato con 
NetBeans anche il jar che si trova nella cartella seguente:
netbeans-5.0beta\ide6\modules\ext\swing-layout-0.7.jar .
Se ti stufi di aggiungere ogni volta nei tuoi progetti i due Jar, puoi 
aggiungere "swing-layout-0.7.jar" nel jar realizzato da NetBeans, in modo 
tale da avere un solo jar.
Ciao!!!
--------------------------
Nicola Amoruso
"Marco" <na...@NOPRIVATEMESSAGE.com> ha scritto nel messaggio 
news:dk7pnl$mha$1...@news.tiscali.fr...


 tale da avere un solo jar.
Ma come esattamente?
Ho spulciato tutti i menu e le impostazioni, e fatto mille prove.
Ma non ci sono riuscito.
Nel progetto, alla voce Libraries, la libreria incriminata c'è, ma non viene 
inserita nel jar.
Ciao
Marco 

la puoi inserire con il WinRar prendi il file e lo trascini nel Jar.
ciao!!!
--------------------------
Nicola Amoruso
"Marco" <na...@NOPRIVATEMESSAGE.com> ha scritto nel messaggio 
news:dk897d$6id$1...@news.tiscali.fr...


> la puoi inserire con il WinRar prendi il file e lo trascini nel Jar.
Ma cosě sono capaci tutti!! :-)
Ciao
Marco 

 inserita nel jar.
Perbacco, ma allora non sono stupido come pensavo...
Eclipse ha un comportamento più sensato?
Michele Giordano

 Ma così sono capaci tutti!! :-)
Io ho aggiunto i sorgenti delle librerie ai sorgenti della mia  
applicazione.
In questo modo NetBeans compila tutto e produce un file *.jar eseguibile.
Continuo a non capire, però, qual è la ragione per cui non si può  
associare direttamente un file jar della libreria al file jar  
dell'applicazione.
Qualcuno sa spiegarmi perché?
Grazie.
Michele Giordano

 In questo modo NetBeans compila tutto e produce un file *.jar eseguibile.
Alla fine ho fatto qualcosa di simile anch'io.
Io ho fatto un file .bat che mette insieme tutti i sorgenti, compila e mi fa 
il jar.
Tu esattamente come inserisci i sorgenti delle librerie nel progetto?
Mi sembra comunque un limite piuttosto grosso.
Ma siamo ancora in beta. Magari migliorerà.
Ciao
Marco 

 Ma siamo ancora in beta. Magari migliorerà.
Io non credo. Io uso ancora la 4.1 e quando ho provato la 5.0 mi sembra di  
aver notato che questo aspetto dell'IDE non è stato toccato, quindi c'è da  
capire se:
1. sbagliamo qualcosa;
2. quello che chiediamo ha poco senso (per ragioni che ignoro);
3. si è persa una voce dei TODO;
4. gli sviluppatori di NetBeans, in fondo, sono ancora dei nostalgici  
della command line;
Ciao.
Michele Giordano

 della command line;
Ok.
Ma io non sono nostalgico!!! :-)
Ciao
Marco