Esportare programma

di il
4 risposte

Esportare programma

Ciao a tutti,
ho creato la mia prima piccola applicazione, è una utility che può essere considerata inutile ma vorrei comunque renderla disponibile al download.
Il programmino è stato sviluppato su NetBeans. Quello che volevo sapere è come si fa l'esportazione e rendere disponibile il programma sfruttando il fatto che java è multipiattaforma...
Mi sono pure installato Ubuntu su VirtualBox per fare dei test...

4 Risposte

  • Re: Esportare programma

    Dennis ha scritto:


    Ciao a tutti,
    ho creato la mia prima piccola applicazione, è una utility che può essere considerata inutile ma vorrei comunque renderla disponibile al download.
    Il programmino è stato sviluppato su NetBeans. Quello che volevo sapere è come si fa l'esportazione e rendere disponibile il programma sfruttando il fatto che java è multipiattaforma...
    Mi sono pure installato Ubuntu su VirtualBox per fare dei test...
    In Java il formato di packaging principale e basilare per aggregare classi/risorse/metadati è il JAR (file .jar) che fisicamente/tecnicamente è uno zip.

    Se la tua è una applicazione stand-alone "desktop" e vuoi che parta o con doppio-click sul jar (se l'associazione .jar -> JRE è possibile e corretta nel sistema) oppure manualmente con:

    java -jar tuaapp.jar

    Allora nel jar ci deve essere il "manifest" che contiene l'attributo Main-Class con il nome completamente qualificato della tua classe con il main(String[]).

    Come farlo in NetBeans non lo so perché non lo uso .... ma trovi info in rete.

    Se quanto ti ho detto è arabo per te ..... allora: Packaging Programs in JAR Files dal tutorial ufficiale.
  • Re: Esportare programma

    Ok, ho creato il jar e ho visto che c'è il file manifest con tutti i dati corretti.
    Quindi a questo punto per distribuire la mia applicazione basta che distribuisco questo file .jar?
    Ma se in un pc cliente manca l'associazione .jar -> JRE? e se manca il JRE? esiste un modo per fare in modo che al primo avvio dell'applicazione essa controlli se esiste l'associazione ed eventualmente crearla e sopratutto se è installato JRE?
  • Re: Esportare programma

    Dennis ha scritto:


    Quindi a questo punto per distribuire la mia applicazione basta che distribuisco questo file .jar?
    Al fine di lanciarlo "a mano" da prompt oppure con doppio-click (se possibile/configurato), sì, basterebbe.

    Ma dovresti anche considerare altre questioni, dipendentemente da cosa hai usato/fatto nel tuo codice:
    1) la tua applicazione richiede librerie di terze parti? Insomma, devi usare jar esterni?
    2) la tua applicazione utilizza risorse (testi, immagini ecc...) che dovresti aver inserito nel tuo jar? E se sì (cioè sono nel jar), le hai referenziate/caricate in modo appropriato?

    Dennis ha scritto:


    Ma se in un pc cliente manca l'associazione .jar -> JRE? e se manca il JRE? esiste un modo per fare in modo che al primo avvio dell'applicazione essa controlli se esiste l'associazione ed eventualmente crearla e sopratutto se è installato JRE?
    Non c'è un modo con i soli tools offerti dal JDK/JRE. Ma ci sono tools (anche free) che puoi trovare in rete, che sono in grado di generare eseguibili "nativi" per varie piattaforme con lo scopo di fare tutta una serie di azioni del tipo: verificare la presenza di un runtime Java e/o effettuarne il download, eseguibile il launch della applicazione, ecc...

    Cerca ad esempio "launch4j".
  • Re: Esportare programma

    andbin ha scritto:


    Dennis ha scritto:


    Quindi a questo punto per distribuire la mia applicazione basta che distribuisco questo file .jar?
    Al fine di lanciarlo "a mano" da prompt oppure con doppio-click (se possibile/configurato), sì, basterebbe.

    Ma dovresti anche considerare altre questioni, dipendentemente da cosa hai usato/fatto nel tuo codice:
    1) la tua applicazione richiede librerie di terze parti? Insomma, devi usare jar esterni?
    2) la tua applicazione utilizza risorse (testi, immagini ecc...) che dovresti aver inserito nel tuo jar? E se sì (cioè sono nel jar), le hai referenziate/caricate in modo appropriato?
    Ma allora, quale sarebbe il modo corretto per distribuire il mio programmino?
    Nel mio caso non ho librerie esterne e non utilizzo testi immagini etc...ma se li usassi?
    Io di solito per includere librerie esterne vado sulle proprietà del progetto e nella scheda Libraries faccio Add Libraries...non è il modo corretto?

    andbin ha scritto:


    Dennis ha scritto:


    Ma se in un pc cliente manca l'associazione .jar -> JRE? e se manca il JRE? esiste un modo per fare in modo che al primo avvio dell'applicazione essa controlli se esiste l'associazione ed eventualmente crearla e sopratutto se è installato JRE?
    Non c'è un modo con i soli tools offerti dal JDK/JRE. Ma ci sono tools (anche free) che puoi trovare in rete, che sono in grado di generare eseguibili "nativi" per varie piattaforme con lo scopo di fare tutta una serie di azioni del tipo: verificare la presenza di un runtime Java e/o effettuarne il download, eseguibile il launch della applicazione, ecc...

    Cerca ad esempio "launch4j".
    Dando una rapida occhiata a launch4j ho visto che crea un exe...ma questo non distrugge la proprietà di java di essere multipiattaforma?
Devi accedere o registrarti per scrivere nel forum
4 risposte