Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2014
    Messaggi
    5

    Creare un file .jar eseguibile , problema con il file manifest.mf non trova la classe main.

    Salve a tutti sono nuovo del campo e del forum, quindi chiedo venia in anticipo perché sicuramente chiederò qualcosa che già è stato trattato ma non sono riuscito a trovare altre risposte al mio problema.
    Come da titolo ho creato una piccola applicazione in java che utilizza la libreria jxl. Sono riuscito a compilare il file e a fare partire l'applicazione specificando il path. adesso vorrei renderla eseguibile e quindi creare un .jar e poi magari ottenere un .exe. Ho seguito questa vecchia discussione http://forum.html.it/forum/showthrea...readid=948159&
    ma non riesco ad ottenere un jar che parta.
    Mi spiego meglio , utilizzo lo Scite come editor quindi faccio quasi tutto a mano.
    HO creato il file .jar della mia applicazione ma lanciando il comando java - jar non mi parte e mi dice che non è possibile trovare la main class nel file da me suggerito.
    il miofile manifest che ho scritto è:

    Manifest-Version: 1.0
    Created-By: 1.6.0_25 (Sun Microsystems Inc.)
    Main-Class: LeggiExcel2
    Class-Path: jxl.jar

    dove spero che con l'ultimo rigo riesco a far capire alla jvm che il file main LeggiExcel necessita di utilizzare quella specifica libreria.
    Una cosa strana è che se apro il file jar che creo e vado a leggere il manifest.mf non si trova traccia di questo ultimo rigo.
    Confido nel vostro aiuto e quido ancora scusa per la domando sicuramente banale.

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da doc80 Visualizza il messaggio
    il miofile manifest che ho scritto è:

    Manifest-Version: 1.0
    Created-By: 1.6.0_25 (Sun Microsystems Inc.)
    Main-Class: LeggiExcel2
    Class-Path: jxl.jar

    dove spero che con l'ultimo rigo riesco a far capire alla jvm che il file main LeggiExcel necessita di utilizzare quella specifica libreria.
    Una cosa strana è che se apro il file jar che creo e vado a leggere il manifest.mf non si trova traccia di questo ultimo rigo.
    Innanzitutto il comando, in generale è:

    jar cvmf tuomanifest tuaapp.jar .....file/dir-da-tirare-dentro.....
    oppure
    jar cvfm tuaapp.jar tuomanifest .....file/dir-da-tirare-dentro.....

    Il manifest deve avere una riga vuota al fondo (il tool jar è pignolo su questo). E nota che Main-Class deve avere il nome della classe completamente "qualificato". Se LeggiExcel2 non è in un package, va bene come l'hai messo.
    Ovviamente poi jxl.jar deve "viaggiare" sempre insieme al tuo jar e stare nella sua stessa directory.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2014
    Messaggi
    5
    ciao grazie per l'aiuto , fammi capire quindi quando scrivo il manifest dopo l'ultimo rigo che sarebbe class-path ... premo invio per andare a capo?
    Per quanto riguarda il file con main si ho solo la cartella radice e tutto e li dentro.
    Mentre per creare il jar :
    tuaapp.jar=sarebbe il file jar che voglio ottenere ,

    tuomanifest = gli do il percorso dove ho salvato MANIFEST.MF che sarà diverso dalla radice della mia applicazione quindi ad esempio c:\ penso che vada bene

    file/dir-da-tirare-dentro..... cosa indicherebbe?

    quello che scrivo da Prompt dopo essermi spostato sulla dir radice del mio file.class , che si trova in
    C:\User\Io\Desktop\converti\

    >C:\Programmi\Java\jdk1.6.0_25\bin\jar cvfm converti.jar C:\User\Io\Desktop\Cai\MANIFEST.MF .

    poi dopo il classico java -jar converti.jar
    Ultima modifica di doc80; 06-01-2014 a 01:30

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2014
    Messaggi
    5
    Quote Originariamente inviata da andbin Visualizza il messaggio
    Innanzitutto il comando, in generale è:

    jar cvmf tuomanifest tuaapp.jar .....file/dir-da-tirare-dentro.....
    oppure
    jar cvfm tuaapp.jar tuomanifest .....file/dir-da-tirare-dentro.....

    Il manifest deve avere una riga vuota al fondo (il tool jar è pignolo su questo). E nota che Main-Class deve avere il nome della classe completamente "qualificato". Se LeggiExcel2 non è in un package, va bene come l'hai messo.
    Ovviamente poi jxl.jar deve "viaggiare" sempre insieme al tuo jar e stare nella sua stessa directory.
    grazie tanto del tuo aiuto ho risolto il problema dovevo lasciare le righe vuote alla fine del file manifest .

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.