PDA

View Full Version : rendendere un programma java eseguibile con doppio click


Homer J-1983
23-05-2007, 17:27
Salve! Premetto che non sono molto pratico con java! Ho realizzato un programma che si interfaccia con un db mysql e come interfaccia ho usato swing. Quando esporto il programma Eclipse (l'editor che uso) mi permette di esportarlo come jar. Il problema è che non include le librerie di mysql. Ho provato anche a non comprimerlo come jar, e ho messo le librerie di mysql nella stessa cartella del progetto, ma quando vado a fare dal prompt di comandi:

>java FramePrincipale

mi solleva l'eccezione class not found.

Come devo fare?

Io vorrei che si potesse cliccare col muose due volte sopra come se fosse un eseguibile!

Grazie!

PGI-Bis
23-05-2007, 17:42
Premetto che è una cosa che dovrebbe fare Eclipse in modo automatico. Forse c'è qualche opzioni nel progetto da impostare. Non sono pratico di IDE.

Comunque, se un programma impacchettato in un JAR ha bisogno di altri JAR puoi specificare la posizione relativa (a quella del JAR del tuo programma) delle dipendenze con il parametro Class-Path da inserire nel file Manifest. Ad esempio:

Manifest-Version: 1.0
Main-Class: nome pq della classe main
Class-Path: mysql1.jar mysql2.jar eccetera.jar
[linea vuota]

Nel caso qui sopra al doppio click sul jar (ma anche all'esecuzione tramite linea di comando) la JVM cercherebbe le librerie specificate nella directory in cui si trova il jar "cliccato".

Applicazione.jar
mysql1.jar
mysql2.jar
eccetera.jar

Se preferisci mettere le librerie in una cartella apposita (un fantasioso "lib", ad esempio):

Applicazione.jar
lib/mysql1.jar
lib/mysql2.jar
lib/eccetera.jar

allora userai "lib" anche nello specificare il percorso dei jar nell'attributo Class-Path:

Manifest-Version: 1.0
Main-Class: pq main class
Class-Path: lib/mysql1.jar lib/mysql2.jar lib/eccetera.jar
[linea vuota]

Tutto qui.

Homer J-1983
23-05-2007, 18:01
ok! è andato! thankyou!