PDA

View Full Version : Eseguibili con JAVA? AIUTOOOO


x-t
05-01-2007, 11:25
Scusate la mia ignoranza in questione... ho incominciato a fare qualche programmino in java...
Devo dire che mi piace molto per la facilità di programmazione...
tuttavia non mi piace la scarsa portabilità. è possible che se devo passare un programmino (file .jar) a qualcuno devo fargli istallare prima tutta la java virtual machine??? o invece è possible creare un eseguibile (.exe) ????? se si come?

andbin
05-01-2007, 11:34
Scusate la mia ignoranza in questione... ho incominciato a fare qualche programmino in java...
Devo dire che mi piace molto per la facilità di programmazione...
tuttavia non mi piace la scarsa portabilità. è possible che se devo passare un programmino (file .jar) a qualcuno devo fargli istallare prima tutta la java virtual machine??? o invece è possible creare un eseguibile (.exe) ????? se si come?Personalmente sconsiglio sempre vivamente di usare tools vari per generare eseguibili nativi da applicazioni Java. Java è fatto per "macinare" il suo byte-code.
Consiglio pertanto di installare il JRE (il JRE 6 su Win, ad esempio, è poi un pacchetto di appena 12MB), in questo modo Java sarà disponibile anche per le applet nei browser.
Poi per distribuire le applicazioni, i file jar sono appunto l'ottimale.
Credimi ... non impergolarti con file exe e cose del genere.

spv42
05-01-2007, 11:35
Parli di portabilità e citi i file "eseguibili" exe!!!

Dove devi eseguire la tua applicazione??

Quale SO usi?

x-t
05-01-2007, 11:41
windows...

spv42
05-01-2007, 12:00
windows...

Allora hai due alternative:

1- crearti un file .cmd in cui chiami la jvm
Esempio: java -cp <classpath_applicazione> <classe_del_main> (senza .class)

2- crearti un jar con tutti i package e nel suo manifest indichi la classe dovec'è
il main ed il classpath necessario alla tua applicazione.
Esempio:
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.5.3
Created-By: 1.4.2_08-b03 (Sun Microsystems Inc.)
Main-class: <classe_del_main> (senza .class)
Class-Path: <classpath_applicazione>
AppVersion: 2.0 build

Ora, cliccando (o sul file .cmd o sul jar) la tua applicazione andrà in esecuzione.

x-t
05-01-2007, 12:12
"purtroppo" tutto presuppone che sia istallata la jvm... (ho trovato ad esempio un'applicazione' EXEJ, che crea un eseguibile .exe partendo dai file .class, ma è comunque necessaria la jvm... allora dove sta l'utilità?)
il fatto è che se devo passare un programmino a qualcuno devo dirgli "non dimenticarti di istallare la jvm!". Pensavo che ci fossero dei tools che creavano un eseguibile finale con tutto il necessario, per far funzionare un'applicazione, ad esempio, su sistemi windows... ma a quanto pare non si può.
Grazie comunque a tutti per le risposte!

spv42
05-01-2007, 12:22
La jvm interpreta il bytecode, generato dal suo compilatore.

Se non installi l'interprete la tua applicazione non viene interpretata!