Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    rendere eseguibile un JAR

    Ciao a tutti!
    Sono nuovo del forum e di Java.
    ho scaricato un JAR che mi esegue la conversione da PDF a TIFF; Ho capito che questo JAR non può essere eseguito da solo poichè nel manifesto gli manca la direttiva "Main-Class"; credo anche che in nessun file sorgente (quelli con estensione .java) ci sia la funzione principale "public static void main(String args[])" .
    Sapreste suggerirmi come poter ricreare il JAR per poterlo rendere eseguibile in maniera standalone?
    Un'idea potrebbe essere quella di creare un'ulteriore classe che contenga la funzione principale (al cui interno vengano correttamente richiamate le altre classi) e che venga citata dal manifesto del jar come "Main-Class"... può avere un senso?

    Grazie a tutti.

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: rendere eseguibile un JAR

    Originariamente inviato da giovanni.vecchi
    credo anche che in nessun file sorgente (quelli con estensione .java) ci sia la funzione principale "public static void main(String args[])" .
    In generale, se non c'è un main() ..... non è una applicazione "stand-alone" (potrebbe essere altro, es. una libreria).

    Se c'è un main() ma non c'è nel manifest il Main-Class, o lo aggiungi (a mano o con qualche tool) o lanci la jvm avendo in "classpath" il jar (e eventualmente altro che serve) indicando il nome della classe con il main.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    No, non c'è nessuna classe che ha il main.
    Dici che può essere una buona idea creare una classe ad hoc da aggiungere per richiamare le altre (ovviamente modificando anche il manifesto) ?

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da giovanni.vecchi
    No, non c'è nessuna classe che ha il main.
    Se è una "libreria", allora è da usare da una applicazione. Vuol dire che dovresti sviluppare una applicazione Java (che magari impacchetti in un jar, questo con il Main-Class nel manifest!) che referenzia quel jar della libreria.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Ok capito.
    Grazie mille

  6. #6
    Se è un'applet che lavora con AWT o swing dovresti cambiare tutto quel codice, magari cambiare tutto usando i JFrame.
    lolide
    Java Programmer

    Informati

  7. #7
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da lolide
    Se è un'applet che lavora con AWT o swing dovresti cambiare tutto quel codice, magari cambiare tutto usando i JFrame.
    Eh, non stavo pensando anche alle applet.
    Se fosse una applet in effetti non è nemmeno detto che sia possibile/facile usarla "dall'esterno". In quel caso bisognerebbe capire bene cosa fa e cosa usa.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  8. #8
    Originariamente inviato da andbin
    Eh, non stavo pensando anche alle applet.
    Se fosse una applet in effetti non è nemmeno detto che sia possibile/facile usarla "dall'esterno". In quel caso bisognerebbe capire bene cosa fa e cosa usa.
    Secondo me infatti è un'applet fregato su qualche sito (se sei fortunato, puoi usare un decompilatore, magari non ha neanche usato qualche obfuscator)

    lolide
    Java Programmer

    Informati

  9. #9
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472

    Moderazione

    Siamo già andati abbastanza off topic, prima di tutto perché non si parla di programmazione in senso stretto ma di come utilizzare/avviare qualcosa di già pronto e costruito da altri; inoltre, il tema della decompilazione qui non viene trattato.

    Per tutti questi motivi, chiudo la discussione.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

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.