|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Jun 2003
Messaggi: 64
|
Esecuzione di un applicazione
In Java non esiste il .exe se non sbaglio. Al suo posto vienne creato un file .class. Ma quando voglio usare un programma su un'altro computer, come faccio ad aprirlo?devo avere per forza un interprete su tutti i computer dove voglio usare il programma?
![]() |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Jul 2002
Città: Milano
Messaggi: 19148
|
eh si devi avere la Java Virtual Machine per eseguire un class.
è la filosofia di Java dopotutto... sei indipendente dal SO ma devi avere l'interprete dato che il class non è linguaggio macchina |
![]() |
![]() |
![]() |
#3 |
Member
Iscritto dal: Jun 2003
Messaggi: 64
|
e sai dirmi dove posso trovarla?
|
![]() |
![]() |
![]() |
#4 | |
Senior Member
Iscritto dal: Jan 2001
Città: Milano
Messaggi: 5707
|
Quote:
su java.cun.com oltre all' sdk che ti serve per compilare trovi anche il runtime (JRE) che ti serve per eseguire (se non hai il jdk, in cui e' incluso). E' piu' leggero (mi sembra una decina di mega di downlaod) l'ultima release e' la 1.4.2 http://java.sun.com/j2se/1.4.2/download.html |
|
![]() |
![]() |
![]() |
#5 |
Member
Iscritto dal: Jun 2003
Messaggi: 64
|
Però devo farlo sempre sotto dos?
|
![]() |
![]() |
![]() |
#6 |
Bannato
Iscritto dal: Nov 2001
Città: Verona
Messaggi: 1086
|
Puoi impacchettare la tua applicazione in un file jar eseguibile, poi sotto Windows dovrebbe partire con un doppio click perchè è associata a "javaw.exe", omologo di "java.exe" solo che non apre il prompt del dos.
Per farlo devi includere nel jar un file manifesto che abbia questo contenuto minimo --------------------------- Main-Class: nomepackage.nomedellaclassecolmain --------------------------- Trattini esclusi, è importante che l'istruzione termini con un break line. Salvi il manifesto (quanlunque estensione, di solito txt o mf) poi da linea di comando impacchetti il tutto: jar mcf Manifesto.txt NomePacchetto.jar directorypackage/ [invio] se non hai usato un package jar mcf Manifesto.txt NomePacchetto.jar Classe1.class Classe2.class ... [invio] A quel punto ti ritrovi con un file jar NomePacchetto.jar col quale puoi lanciare l'applicazione senza passare per la linea di comando. Ciao. |
![]() |
![]() |
![]() |
#7 |
Member
Iscritto dal: Jun 2003
Messaggi: 64
|
Ho provato però quando eseguo mi dice:
Failed to load Main-Class manifest attribute from finestramenu.jar cosa ho sbagliato? |
![]() |
![]() |
![]() |
#8 |
Bannato
Iscritto dal: Nov 2001
Città: Verona
Messaggi: 1086
|
Quel messaggio significa che ha trovato un file Manifest ma quel file non contiente l'attributo "Main-Class".
Ricorda che la riga "Main-Class: nomepackage.nomeclass" deve terminare con un'interruzione di linea ([invio] per esser chiari). In sostanza il tuo file manifest deve avere due righe, una con l'attributo Main-Class e l'altra vuota. Allego un file "Manifest.txt", probabilmente il file più corto del mondo. Quel file contiene l'attributo Main-Class di un'applicazione (non inserita in una package) dove il metodo main è inserito in una classe il cui codice sorgente è "Prova.java". Per un'applicazione così il file manifesto minimo possibile è esattamente così (nota che ci sono due linee di testo, l'ultima vuota). Per avere il messaggio completo di errore lancia il file *.jar da riga di comando: java -jar NomeFile.jar PS. Il file non vuole allegarlo ![]() comunque è così...senza la prima linea vuota...il fulgido esempio è andato a ramengo... Codice:
Main-Class: Prova |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 17:18.