|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Jan 2008
Città: Bologna
Messaggi: 2179
|
[JAVA] Creazione file jar
Ho seguito questa procedura, che ho trovato online, e mi pare di capire che sia quella più usata visto che ho trovato solo questa:
Codice:
* Compilate il file sorgente in modo da creare tutte le classi. * Nella stessa cartella create il file “Manifest.txt“ * Apritelo e dentro inserite queste stringhe: Manifest-Version: 1.0 Created-By: AUTORE Main-Class: NOME_CLASSE * Dopo created-By mettete il vostro nome, in NOME_CLASSE dovrete inserire il nome della classe contenente il metodo main (il nome della classe deve essere senza estensione Es: Rubrica) , dopo premete 2 volte INVIO salvate e chiudete il file. * Aprite la console (Start->Esegui->cmd.exe) e spostatevi dentro la cartella contenente i file class e il Manifest.txt (Tramite cd Es: cd Desktop) * Digitate la seguente stringa: jar cmf Manifest.txt nome_file.jar *.class * in nome_file.jar dovrete semplicemente inserire il nome da dare al vostro .jar (Es: jar cmf Manifest.txt Rubrica.jar *.class) java.io.FileNotFoundException: nomefile.jar*.class <The filename, directory name, or volume label syntax is incorrect>ecc Il file Manifest sono sicuro che sia giusto..
__________________
CM 690 Pure w || ROG Crosshair III || AMD || OCZ Gold || Ati || ciao Kiu... || LOST addicted - 2004 ♥ 2010 1900 S.S.LAZIO |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Un jar è uno zip per cui volendo puoi benissimo impacchettare le classi (tenendo conto dei package, cioè devi "zippare" le directory radice), aggiungere una META-INF/Manifest.mf e hai fatto il tuo jar.
Da linea di comando scrivi una cosa tipo: jar mcf Manifest.txt Programma.jar it/ assumendo di lanciare jar dalla cartella del progetto, che esista in questa cartella un file Manifest.txt e che it/ sia la radice del package a cui appartengono le classi. Prova magari a fare un esperimento con un programma ad hoc. Diciamo che la cartella di lavoro è c:\bingo Crei un file Main.java: Codice:
package it.programma; public class Main { public static void main(String[] args) { System.out.println("hello world"); } } javac -d . *.java Crei un file manifesto: Codice:
Manifest-Version: 1.0 Main-Class: it.programma.Main A questo punto il jar lo fai con: Codice:
jar mcf Manifest.txt Programma.jar it/ java -jar Programma.jar Dovresti veder spuntare sulla console la scritta: hello world. Tutto qua.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Jan 2008
Città: Bologna
Messaggi: 2179
|
Ho provato sia sul fisso che sul portatile ad eseguire la procedura che mi hai indicato, ma anche per l' esempio di Hello World che mi hai scritto mi continua a comparire lo stesso errore:
Il messaggio di errore proviene dalla Java Virtual Machine: Failed to load Main-Class manifest attribute from C:\xxxx\bingo\Programma.jar ![]() ![]() ![]()
__________________
CM 690 Pure w || ROG Crosshair III || AMD || OCZ Gold || Ati || ciao Kiu... || LOST addicted - 2004 ♥ 2010 1900 S.S.LAZIO |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Il contenuto del file manifesto deve terminare con una linea vuota.
Codice:
prima linea: Manifest-Version: 1.0 secondalinea: Main-Class: it.programma.Main terzalinea: (vuota)
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Jan 2008
Città: Bologna
Messaggi: 2179
|
Si la riga la lasciavo anche prima.
Ho rifatto tutta l' operazione, non come ora da console esce (dopo che digito jar mcf Manifest.txt Programma.jar it/ ): impossibile trovare il file o la directory Io ho la cartella bingo sul desktop, dentro c'è il file Main.java e Manifest.txt. Il file Programma.jar mi viene comunque creato, ma, ovviamente, se lo clicco mi da errore.
__________________
CM 690 Pure w || ROG Crosshair III || AMD || OCZ Gold || Ati || ciao Kiu... || LOST addicted - 2004 ♥ 2010 1900 S.S.LAZIO |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 19:13.