PDA

Visualizza la versione completa : [Java]jar autoeseguibili


--LO--
05-09-2003, 17:09
Salve a tutti.
Io volevo fare in modo che un mio progetto in java partisse semplicemente cliccando su un determinato file, senza bisogno di andare ad aprire la shell di testo e usare i comandi javac/java.

Su un libro ho trovato questo:

Prima di tutto creare un file .mf dove vado a scrivere

Main-Class: agenda2/presentation/Index

(questo file lo salvo nella cartella agenda2, dentro la quale ho un'altra cartella agenda2 e dentro questa alla cartella presentation ho il file Index, che è il file che contiene il main che fa partire tutto il programma).

Dopodichè mi creo un file jar a cui agigungo questo file .mf e i vri file da mettere nell'archivio con

jar cvfm agenda.jar file.mf file da aggiungere

e infine mi metto in un file salvato come bat la seguente riga:

java -jar agenda.jar


quando poi faccio doppio click sul file .bat non mi fa più nulla!
Se provo a digitare direttamente sulla shell la stessa riga che metto nel file .bat mi risponde

failed to load Main-Class manifest attribute from agenda.jar

Come posso fare?
Voglio che il programma comunque mi parta in automatico cliccando su qualcosa, senza dover andare a compilare il tutto! Conoscete qualche metodo alternativo a quello sopra oppure riuscite a dirmi dove sbaglio?
Grazie mille:)

blinkago
05-09-2003, 17:55
La cosa (sul manifest) è giusta ma non ricordo se bisogna metterlo ni una cartella chiamata meta-info o nella cartella principale
consulta la documentazione dei jar http://java.sun.com/j2se/1.4.2/docs/guide/jar/index.html

Angelo1974
05-09-2003, 22:26
Io, di solito, costruisco prima il file .jar con
jar cvf MiaAppl.jar classi o cartelle da aggiungere esso crea un file Manifest.mf in cui non c'è, ovviamente, la classe col main; dopo di che aggiorno il file .jar in questo modo:
1) Creo un Manifest.mf in cui copio le righe apparse nel precedente ed in più la riga: Manin-Class: agenda2/presentation/index
2) aggiorno col comando jar umf Manifest.mf MiaAppl.jar
Così facendo, sarà forse poco formale e laborioso, ma ottengo esattemente ciò che tu vuoi fare.... ciao e semmai domani do 1 sguardo alla tua agenda... ciao :ciauz:

--LO--
05-09-2003, 23:31
Originariamente inviato da Angelo1974
Io, di solito, costruisco prima il file .jar con
jar cvf MiaAppl.jar classi o cartelle da aggiungere esso crea un file Manifest.mf in cui non c'è, ovviamente, la classe col main; dopo di che aggiorno il file .jar in questo modo:
1) Creo un Manifest.mf in cui copio le righe apparse nel precedente ed in più la riga: Manin-Class: agenda2/presentation/index
2) aggiorno col comando jar umf Manifest.mf MiaAppl.jar
Così facendo, sarà forse poco formale e laborioso, ma ottengo esattemente ciò che tu vuoi fare.... ciao e semmai domani do 1 sguardo alla tua agenda... ciao :ciauz:

Proverò così, l'avevo letto anche questo da qualche parte:)
Grazie mille:)

inuy4sha
06-09-2003, 11:34
Quando hai costruito il JAR
vai su una cartella qualsiasi ( se sei winzoz ) e da li vai su Opzioni Cartella -> Tipo di file -> aggiungi -> si apre una finestra su estensione ci metti Jar e clicci Ok poi vai a ribeccare il file con estensione Jar tra i vari file riportati nella tabella Tipi di file ... -> modifica e modifichi il modo in cui deve aprire il jar con "javaw" e hai finito... adesso vai sul tuo bel jar ... doppio clicci su di esso e parte l'applicazione ... ovviamente bisognerebbe che tutti facessero altrettanto sulle loro macchine x poter ommettere il file bat :) ciao :gren:

--LO--
07-09-2003, 17:21
tnx :)

Loading