View Full Version : [JAVA] Come farlo funzionare ovunque
Ho un piccolo problema:
ho scritto un codice java per creare in maniera automatica due squadre. Funzionamento OK!!!
Il problema è questo:
se lo voglio far eseguire su altri PC che hanno solo la "Java 2 SE Runtime Environment 5.0 update5" cioè la JRE quella che si trova sui giornali per navigare in Internet, cosa devo fare?
Cioè io passo ai miei amici i file .class poi come faccio a farli eseguire sulla loro macchina? :cry:
esattamente come lo esegui sulla tua macchina, il jdk in più comprende i tool per la compilazione, per eseguire ti basta il runtime.
Io sono un rompi, ma non si può scrive codice Java e non sapere la differenza tra JDK e JRE... :mad: :cry:
Spero tu sia autodidatta, perchè se hai seguito un corso è da sparare al docente!
Comunque hai fatto bene a chiedere ;) !
Ho un piccolo problema:
ho scritto un codice java per creare in maniera automatica due squadre. Funzionamento OK!!!
Il problema è questo:
se lo voglio far eseguire su altri PC che hanno solo la "Java 2 SE Runtime Environment 5.0 update5" cioè la JRE quella che si trova sui giornali per navigare in Internet, cosa devo fare?
Cioè io passo ai miei amici i file .class poi come faccio a farli eseguire sulla loro macchina, se non hanno la JDK installata ma solo la JRE? :cry:
Ciao, la soluzione migliore è quella di creare un file jar. All'interno ci metterai tutte le tue classi, ecc... Nota che nel file di MANIFEST all'interno del jar ci deve essere l'indicazione "Main-Class:nome_classe_di_avvio" dove nome_classe_di_avvio è il nome della classe che contiene il metodo statico main().
Fatto questo si può avviare l'applicazione con:
java -jar <nome_file_jar>
Indipendentemente dal fatto di avere un JDK o un JRE (purché sia correttamente installato e la directory 'bin' del JDK/JRE sia in PATH).
Puoi anche usare javaw invece di java (se non vuoi avere la console dei comandi in mezzo ai piedi ;) ).
Io sono un rompi, ma non si può scrive codice Java e non sapere la differenza tra JDK e JRE... :mad: :cry:
Spero tu sia autodidatta, perchè se hai seguito un corso è da sparare al docente!
Comunque hai fatto bene a chiedere ;) !
Forse non ci siamo capiti!!! :mbe:
Io non ho chiesto la differenza tra JDK e JRE :mbe: ma ho chiesto se c'è un modo SEMPLICE per far partire i file .class sul pc di persone che hanno solo la JRE. Nel senso che l'unico modo che conosco è attraverso un compilatore (ad esempio Textpad con i tasti ctrl+2), o con il metodo classico da Shell.
Quindi siccome so la differenza tra JDK e JRE... e visto che te sicuramente sarai un esperto mi puoi dire un metodo semplice per far usare a tutti i comuni mortali che hanno solo il JRE il mio programmino sensa dover avere un compilatore o caricarlo da Shell.
Spero di avere chiarito il problema!!! :D :D :D
w4nderlust
16-01-2006, 18:34
Il metodo semplcie è:
aprire un terminale (linea di comando di widnows, console sotto osx, insomma quello che è)
andare nella directory che contiene il .class
scrivere "java nomefile" (se il file si chiama ciccio.class bisogna scrivere solo ciccio)
Spero di avere chiarito il problema!!! :D :D :D
segui il metodo proposta da andbin, lato utente poi basta un doppioclock sul jar che contiene la classe col main per avviare l'applicazione.
Forse non ci siamo capiti!!! :mbe:
Nel senso che l'unico modo che conosco è attraverso un compilatore (ad esempio Textpad con i tasti ctrl+2), o con il metodo classico da Shell.
Quindi siccome so la differenza tra JDK e JRE...
No, scusa, non la sai.
Se la sapessi avresti ben presente che quando usi il JDK per eseguire del codice, lo utilizzi con le stesse istruzioni con cui useresti il JRE.
Per cui, se sai come fare ad eseguire del codice con il JDK, sai anche come fare ad eseguirlo con il jre.
Non era un offesa, ma una triste constatazione che confermi: appena vi tolgono un ambiente di sviluppo, vi sfuggono le ovvietà ;)
Il metodo forse più user friendly (da parte dell'utente, non tua) è di usare java web start.
http://java.sun.com/products/javawebstart/
Dire all'utente di aprire una shell e digitare "java -jar program.jar" non è un buon metodo, dato che il 90% degli utenti non sa cos'è una shell.
Il doppio click sul jar potrebbe essere un'alternativa, se il .jar è associato al jre e non, per esempio, ad un'utility di compressione tipo winzip.
I comandi batch ovviamente non se li ricorda più nessuno ?? :(
Basta fare un bel bat, scriverci tutto il necessario e dire all'utente di farci un doppio click sopra ;)
I comandi batch ovviamente non se li ricorda più nessuno ?? :(
Basta fare un bel bat, scriverci tutto il necessario e dire all'utente di farci un doppio click sopra ;)
Il migliere anche per i niubbi :)
NapalM
No, scusa, non la sai.
Se la sapessi avresti ben presente che quando usi il JDK per eseguire del codice, lo utilizzi con le stesse istruzioni con cui useresti il JRE.
Per cui, se sai come fare ad eseguire del codice con il JDK, sai anche come fare ad eseguirlo con il jre.
Non era un offesa, ma una triste constatazione che confermi: appena vi tolgono un ambiente di sviluppo, vi sfuggono le ovvietà ;)
Contento te!!! :friend: :friend: :friend:
Il JavaWebStart non l'ho mai usato... come si può creare un icona con questa applicazione?
Ho creato un file .bat con le sequenti righe:
@ECHO OFF
F:
CD "\Documents and Settings\Slash\Desktop\Sergente GeneraSquadre"
F:\Programmi\Java\jdk1.5.0_05\bin\java.exe GeneraSquadre
PAUSE
Ma... non conoscendo molto bene questo tipo di codice, non riesco e renderlo indipendente da computer a computer nel senso che i path (ovviamente) cambiano da pc a pc.
Dovrebbe bastare questo dentro il .bat, che deve essere nella cartella in cui si trova il tuo codice:
%JAVA_HOME%\bin\javaw.exe -classpath .;%CLASSPATH% GeneraSquadre
Il metodo forse più user friendly (da parte dell'utente, non tua) è di usare java web start.
http://java.sun.com/products/javawebstart/
Sto leggendo proprio adesso un articolo su una rivista che parla del Java Web Start. Da quello che ho capito, è un sistema per la pubblicazione e distribuzione, basata sul web, di una applicazione Java.
Quindi c'è bisogno di un sito web, di un URL specifico che faccia da codebase, ecc.. e quindi non penso che vada bene per Slashjr.
Ho creato un file .jar con all'interno tutti i file class il file manifest e le icone... funziona semplicemente cliccando sul File jar CHE FIGATA!!!!
Cmq ho sempre un piccolo problema... non mi visualizza le icone (formato gif) queste sono state caricate nel fle jar ma non vengono visualizzate PERCHÉ?
^TiGeRShArK^
18-01-2006, 11:05
Sto leggendo proprio adesso un articolo su una rivista che parla del Java Web Start. Da quello che ho capito, è un sistema per la pubblicazione e distribuzione, basata sul web, di una applicazione Java.
Quindi c'è bisogno di un sito web, di un URL specifico che faccia da codebase, ecc.. e quindi non penso che vada bene per Slashjr.
però in generale è un'OTTIMA soluzione per distribuire applicazioni Java ;)
ne sono rimasto felicissimo! Altro che Applet :D
Ho creato un file .jar con all'interno tutti i file class il file manifest e le icone... funziona semplicemente cliccando sul File jar CHE FIGATA!!!!
Cmq ho sempre un piccolo problema... non mi visualizza le icone (formato gif) queste sono state caricate nel fle jar ma non vengono visualizzate PERCHÉ?
Premetto che non sono espertissimo di queste cose. Comunque da quello che ho già avuto modo di leggere in giro, si dovrebbe fare così (esempio):
ClassLoader cl = this.getClass().getClassLoader();
Icon icona = new ImageIcon(cl.getResource("immagini/icona.gif"));
In pratica si deve usare getResource per ottenere un URL della risorsa presente in un JAR.
SIIIII funziona GRAZIE!!!
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.