View Full Version : [JAVA] File eseguibile su Windows
Andrea16v
18-05-2007, 12:41
Mi e' stato richiesto un programma che riceve in input dei valori dall'utente e stampa a console delle valutazioni sul risultato.
Per farlo avviare su Linux no problem (java nomeprogramma), ma per farlo andare su Windows, facendo doppio click su un collegamento al .class, cosa devo fare, oltre ad installare su quel pc la jvm (che cercherei nella versione piu' leggera possibile) ?
Mi e' stato richiesto un programma che riceve in input dei valori dall'utente e stampa a console delle valutazioni sul risultato.
Per farlo avviare su Linux no problem (java nomeprogramma), ma per farlo andare su Windows, facendo doppio click su un collegamento al .class, cosa devo fare, oltre ad installare su quel pc la jvm (che cercherei nella versione piu' leggera possibile) ?Il doppio click funziona per i file .jar. Però per default l'associazione è tale da lanciare 'javaw' (senza console) e non 'java'. Se hai bisogno della console, ti conviene usare un collegamento ad un file .bat, quindi lanci l'applicazione come vuoi 'java ......'
Andrea16v
18-05-2007, 13:11
Il doppio click funziona per i file .jar. Però per default l'associazione è tale da lanciare 'javaw' (senza console) e non 'java'. Se hai bisogno della console, ti conviene usare un collegamento ad un file .bat, quindi lanci l'applicazione come vuoi 'java ......'
La console è necessaria perchè da lì l'utente inserisce i dati e legge il risultato.
Nel mio caso l'utente non deve vedere il codice sorgente (ma solo il .class), e limitarsi a fare doppio click su un'icona per veder apparire solo la console con le richieste di immissione dati e il successivo risultato.
Se faccio un .bat con il percorso giusto + "java nomefile" nel mio pc con Xp non va, eppure una volta conoscevo un modo per usarlo normalmente... :doh:
Se faccio un .bat con il percorso giusto + "java nomefile" nel mio pc con Xp non va, eppure una volta conoscevo un modo per usarlo normalmente... :doh:Per poter lanciare semplicemente 'java' è chiaramente necessario che la '\bin' del JDK/JRE sia in PATH. Alrimenti devi specificare il path completo.
Il JRE copia java, javaw et similia in system32. Credo che questo consenta di lanciare il programma java da prompt dei comandi senza toccare la variabile d'ambiente PATH. Ma non sono un esperto di sistemi operativi.
Puoi distribuire una copia privata del JRE insieme al programma. E' piuttosto facile: la distribuzione consiste nel copiare bellamente la cartella JRE. Salta fuori un peso massimo e qui bisogna vedere se puoi permettertelo. Dipende da come sarà distribuito il software.
Ps.: ultime da Sun. JRE Super light in arrivo a fine anno. 3-4 megabyte con Swing incluso. Gnam gnam.
Andrea16v
18-05-2007, 13:32
Per poter lanciare semplicemente 'java' è chiaramente necessario che la '\bin' del JDK/JRE sia in PATH. Alrimenti devi specificare il path completo.
Quindi, supponendo il programma sia nella root del disco C, una cosa del tipo java C:\NomeClasse
Mi si apre un flash di 1ms con una finestra con il percorso del file java.exe sul mio pc (segno che lo riconosce), ma della console neanche l'ombra..
Puoi provare a fare un bat con dentro una cosa tipo:
cmd /K java -cp .;z:\progetti\list\ Main
Il /K dovrebbe (ma qui non sono fuori dal mio orticello, sono proprio in un altro stato) far permanere il prompt dei comandi.
Se hai un jar dirai java -cp .;percorsodeljar -jar NomeJar.jar.
Il JRE copia java, javaw et similia in system32. Credo che questo consenta di lanciare il programma java da prompt dei comandi senza toccare la variabile d'ambiente PATH. Ma non sono un esperto di sistemi operativi.Oh ... c'hai ragione!!! :p È che non li uso mai quelli sotto system32 ... ho sempre messo la \bin in PATH e via ...
In questo caso, ammesso di avere un JRE installato, dovrebbe bastare:
%SystemRoot%\System32\java ......
Ps.: ultime da Sun. JRE Super light in arrivo a fine anno. 3-4 megabyte con Swing incluso. Gnam gnam.Curiosità ... dove l'hai letto?
http://sellmic.com/blog/2007/05/16/easy-deployment-is-finally-here-session-my-notes/
riassunto di questa sessione tenutasi al JavaOne
http://www28.cplan.com/cc158/session_details.jsp?isid=286290&ilocation_id=158-1&ilanguage=english
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.