Newsgroup: it.comp.java
Titolo: *.jar + IDE = croce & delizia

Leggo in diversi messaggi di un problema che affligge anche il  
sottoscritto:
una applicazione gira dentro l'IDE (io uso NetBeans) ma da sola non parte.
Questo problema è molto frustrante, perché ai miei occhi vanifica il  
valore aggiunto di Java rispetto ad altri linguaggi. Quando programmo in  
Delphi magari impazzisco per far fare a una funzione quello che voglio, ma  
quando il programma gira bene, allora compilo, doppio clic e via. Con  
NetBeans (ma credo anche con Eclipse) non sai mai se un file jar,  
abbandonato a se stesso, saprà cavarsela da solo...
Allora chiedo (e so che è una domanda difficile):
qualcuno saprebbe compilare una casistica (per carità generica e non  
esaustiva; toh, cinque-sei voci) per orientare il povero neofita nel  
dominare questo problema.
Grazie a tutti.
Michele Giordano

 dominare questo problema.
Credo che la maggior parte dei problemi sarebbero facilmente risolvibili 
avendo bene in mente il concetto del classpath:
http://java.sun.com/j2se/1.5.0/docs/tooldocs/windows/classpath.html
Ecco anche un velocissimo tutorial su come creare un jar "a mano":
http://www.captain.at/programming/java/executable-java-application.php
Sono concetti che gli IDE evoluti tendono a nascondere, ma che è 
fondamentale conoscere per sviluppare "coscientemente" in Java.
Ciao e buon lavoro
pole
-- 
ammentos - a lightweight persistence framework for JDK5
http://www.sourceforge.net/projects/ammentos
http://ammentos.biobytes.it

Mentre Indiana Jones tentava di vendermi delle giacche di pelle, brutte in
verità, Michele Giordano colpì la mia attenzione...:
In effetti questo problema lo sperimentano tutti prima o poi!
Ecco un altro (io!) che non riesce a far partire un'applicazione che in
Eclipse funziona ma al di fuori no.
Tramite Eclipse ho generato un file .jar e qui iniziano i primi "dolori".
Il mio progetto usa dei file .jar (librerie) e una struttura a layers.
Nella cartella workspace di eclipse c'è una dir che si chiama Progetto e
all'interno due dir nomeprogetto e doc ovvero:
/home/<miahome>/Eclipse/Workspace/Progetto/nomeprogetto
/home/<miahome>/Eclipse/Workspace/Progetto/nomeprogetto/cli_interface
/home/<miahome>/Eclipse/Workspace/Progetto/nomeprogetto/domain
/home/<miahome>/Eclipse/Workspace/Progetto/nomeprogetto/persistence
/home/<miahome>/Eclipse/Workspace/Progetto/doc
ed i file .jar (le librerie) sono in una cartella nella
home/<miahome>/classpath e correttamente settati in Eclipse.
Con Eclipse ho creato il file .jar autogenerando il file manifest.
Nella cartella 
/home/<miahome>/progetto 
ho copiato il file .jar autogenerato e i file .jar (le librerie).
Quando digito java -cp . -jar nomeprogetto.jar il programma parte
correttamente ma dopo un po' (ovvero dopo che lancio una certa funzione)
mi compare :
Exception in thread "main" java.lang.NoClassDefFoundError:
com/bitmechanic/sql/ConnectionPoolManager at
nomeprogetto.persistence.<nomeclasse>.<nomemetodo> ecc...
Allora che cosa significa? Ho letto sulle faq del ng che questo errore
significa che la classe che ho indicato viene trovata, ma qualche
classe su cui essa dipende no. Cioé non viene trovato il file .jar di
libreria (che ho messo nella medesima directory)?
Un aiuto e grazie!
-- 
"Un computer spento è un computer sicuro"

 Un aiuto e grazie!
Spero di essermi spiegato.. sono novizio in java e non sono molto bravo 
a spiegare le cose :-P
Cristiano