View Full Version : [Java] Esportazione gioco in formato eseguibile
Buona sera a tutti! Per la tesi della triennale di informatica ho creato in java un gioco (molto stupido :p : la copia spudorata di SuperMario) però leggendo un milione di thread in giro per il web, non sono ancora riuscito a creare l'eseguibile .jar.
L'esportazione da anche successo, però quando è ora di farlo partire mi dice che non è eseguibile quel file.
Utilizzo Eclipse e come s.o. OS X 10.6.8 (Snow Leopard).
(includo librerie "lwjgl", "java.jar", "slick2d" e anche la cartella "data" contenente immagini e audio) --> tutto!
non c'è nessuno che può aiutarmi :( :confused: :confused:
altermetax
09-07-2014, 17:24
Se utilizzi Eclipse la cosa è semplice: File->export->Executable Jar File, dopo scegli le varie impostazioni.
Se utilizzi Netbeans, segui questa guida (http://it.wikihow.com/Creare-un-File-JAR-in-NetBeans).
Se hai usato un normale editor di testo, la cosa si fa più difficile (http://forum.html.it/forum/showthread/t-948159.html).
Ciao! Spero di esserti stato utile!
utilizzo Eclipse....e l'esportazione l'ho fatta, includendo anche la cartella "data", come ho detto nel primo post, però quando ha terminato mi dice che quel file non è eseguibile anche se è .jar
il jar non è un file direttamente eseguibile alla fine è uno zip che contiene tutto il codice e i dati necessari
lo devi lanciare con un comando tipo java -jar nomefile.jar
non uso java da una vita ma mi ricordo che mi ero fatto un bat per renderlo eseguibile con il classico doppio click
sottovento
22-07-2014, 20:56
il jar non è un file direttamente eseguibile alla fine è uno zip che contiene tutto il codice e i dati necessari
lo devi lanciare con un comando tipo java -jar nomefile.jar
non uso java da una vita ma mi ricordo che mi ero fatto un bat per renderlo eseguibile con il classico doppio click
L'installazione standard (almeno le ultime versioni, 7 e 8) lo fanno gia' automaticamente, per cui basta fare doppio click sull'icona del file .jar per poter lanciare l'esecuzione
ti serve del codice nativo, se vuoi che l'utente avvii il tuo programma java non puoi lanciare il processo java per la tua applicazione in altro modo, altrimenti l'utente dovrà farlo manualmente avviando il jar da terminale con l'interprete java.
tipicamente le applicazioni java racchiuse in jar hanno un exe associato con codice nativo per lanciare l'applicazione.
credo che eclipse abbia una sorta di plugin o progetto di terzi per fare ciò, c'era qualcosa del genere al Google Summer of Code, comunque non credo che ti sarà difficile trovare le istruzioni su come proseguire, il tuo problema è che non puoi lanciare java senza un terminale o senza un binario che avvii il tuo jar.
Daniels118
23-07-2014, 10:14
Come dice sottovento se hai installata una jvm recente il sistema ha già associata l'estensione jar al comando java.
Fermo restando che java senza jvm non (ja)va, puoi fare un bat come dice !fazz, o magari un exe come suggerito da Freaxxx (è un po' più laborioso da realizzare ma è più carino perché puoi metterci un'icona personalizzata).
Potresti addirittura inserire la jvm come parte della tua applicazione, però è abbastanza pesante e spesso non necessario considerando che se gli utenti non la hanno già possono scaricarla tranquillamente dal sito ufficiale, valuta tu come fare.
attenzione che affidarsi al "doppio click sul file jar" significa affidarsi all'ambiente, e sotto Windows significa cercarsi guai .
non è più sicuro di affidarsi ad una variabile d'ambiente che può essere modificata in ogni momento, al posto vostro non prenderei in considerazione questa opzione neanche per scherzo .
Daniels118
23-07-2014, 15:12
Sei serio o scherzi?
Se un malintenzionato riesce a modificare una variabile d'ambiente in un sistema non ha certo bisogno di aspettare che l'utente faccia doppio click su qualche file per fare danni... ma poi scusa, anche per aprire le foto usi la riga di comando? :D
Sei serio o scherzi?
Se un malintenzionato riesce a modificare una variabile d'ambiente in un sistema non ha certo bisogno di aspettare che l'utente faccia doppio click su qualche file per fare danni... ma poi scusa, anche per aprire le foto usi la riga di comando? :D
non è necessariamente vero, nella pratica le cose sono molto diverse, la persona che produce e gestisce malware quasi mai ha un vero interesse a demolirti o renderti inoperativo il tuo pc, l'interesse è su cosa ha valore a seconda del mercato, ed oggi i tuoi dati personali hanno più valore rispetto al tuo pc guasto, questa è una "ricostruzione" da media pubblico come può essere un TG o giornale dei giorni nostri .
ad esempio molte crack contengono malware, un semplice eseguibile modificato per eseguire il processo e sniffarne i dati il più delle volte, e ti mette una posizione ben diversa da quella che potresti avere semplicemente hackerando l'ambiente o operando con la forza bruta all'interno del sistema operativo .
basta pensare al classico programma che richiede un accesso online o che è basato su un accesso profilato su un account ( praticamente tutti i programmi commerciali odierni, dai giochi alle suite per ufficio ), un accesso con un eseguibile opportunamente modificato ti può facilmente dare accesso ai dati personali relativi all'account dell'utente, cosa che non potresti ottenere con nessun altra variabile d'ambiente, in più tutto avviene in maniera trasparente senza che l'utente ne possa apprezzare la differenza la quasi totalità delle volte .
Senza contare che il più delle volte anche le grandi aziende non hanno molto interesse ad agire per migliorare la sicurezza dell'ambiente e contemporaneamente la maggior parte degli utenti non sa neanche cosa sta realmente facendo con il computer ed agisce con idee del tutto personali e dettate dal mercato che quasi mai hanno un reale fondamento.
Daniels118
24-07-2014, 07:44
Quello che sia... comunque, non hai risposto alla vera domanda: il malintenzionato che riesce a modificare una variabile d'ambiente non è già abbastanza dentro al sistema da poter fare quello che gli pare senza aspettare che l'utente faccia doppio click?
mone.java
05-08-2014, 10:50
Guarda i prodotti excelsionr, forse trovi qualcosa che sia anche free: http://www.excelsior-usa.com/products.html
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.