Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Creare Eseguibile Java

  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    7

    Creare Eseguibile Java

    Ciao a tutti,
    Ho creato con Netbeans 7.1.1 un'applicazione che fa uso delle librerie RxTx.
    Ovviamente per il corretto funzionamento ho dovuto copiare il file .DLL e .JAR nelle opportune directory e tutto funziona correttamente.
    Per creare l' eseguibile ho utilizzato Launch4J, molto semplice da utilizzare e soprattutto freeware.
    Il mio problema però consiste nel fatto che il file .EXE una volta creato funziona solo se nella macchina oltre ad esserte installata la JVM sono state copiate nella directory JRE anche i file .DLL e rxtx.jar (ovviamente).
    Esiste un modo di creare il file EXE e farlo funzionare, evitando di copiare (per gli utenti meno esperti) i files di cui sopra nella cartella JRE?

    Ho utilizzato anche Advanced Installer (in prova per 30 giorni), un programma che installa l'applicazione su PC ma anche qui senza successo.

    Spero di essere stato chiaro.
    Grazie anticipatamente.

  2. #2
    Se usi Netbeans dalle proprieta' di progetto in Libraries aggiungi il jar rxtx e spunti Package così la include nel jar e non dovrebbe richiedere piu' che il jar sia presente nella cartella della JVM.

    Per aggiungere la dll invece è un po' piu' complicato. Devi aggiungere la dll nel jar dell'applicazione da Build>Packaging>Add File/Folder e poi devi caricarla in memoria manualmente.

    Nel senso che nel main della classe java che viene richiamata dall'exe, prima di usare qualsiasi metodo o classe che richiede la libreria dll, la devi salvare in una cartella (temporanea o dove vuoi tu) e caricarla in memoria con System.loadLibrary()
    lolide
    Java Programmer

    Informati

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    7
    Originariamente inviato da lolide
    Se usi Netbeans dalle proprieta' di progetto in Libraries aggiungi il jar rxtx e spunti Package così la include nel jar e non dovrebbe richiedere piu' che il jar sia presente nella cartella della JVM.

    Per aggiungere la dll invece è un po' piu' complicato. Devi aggiungere la dll nel jar dell'applicazione da Build>Packaging>Add File/Folder e poi devi caricarla in memoria manualmente.

    Nel senso che nel main della classe java che viene richiamata dall'exe, prima di usare qualsiasi metodo o classe che richiede la libreria dll, la devi salvare in una cartella (temporanea o dove vuoi tu) e caricarla in memoria con System.loadLibrary()
    Grazie per la risposta
    Allora se vado in:
    MyProject-->Proprierties-->Libraries
    non trovo nessun flag, l' unico flag lo trovo in basso "Buil Porjects on Classpath"

    In MyProject-->Proprierties-->Build-->Packaging non vedo come aggiungere la DLL

    Inoltre il codice del main se ho ben capito dovrebbe essere cosi modificato:

    codice:
    ...
        public static void main(String[] args) {
            System.loadLibrary("/temp/rxtx.dll");
            launch(PLCUSERApp.class, args);
        }
    ...
    Esiste un modo per includere la JVM nel file EXE senza averla per forza installata sul PC?
    Grazie ancora.

  4. #4
    Originariamente inviato da paky50
    Grazie per la risposta
    Allora se vado in:
    MyProject-->Proprierties-->Libraries
    non trovo nessun flag, l' unico flag lo trovo in basso "Buil Porjects on Classpath"

    In MyProject-->Proprierties-->Build-->Packaging non vedo come aggiungere la DLL

    Inoltre il codice del main se ho ben capito dovrebbe essere cosi modificato:

    codice:
    ...
        public static void main(String[] args) {
            System.loadLibrary("/temp/rxtx.dll");
            launch(PLCUSERApp.class, args);
        }
    ...
    Esiste un modo per includere la JVM nel file EXE senza averla per forza installata sul PC?
    Grazie ancora.
    Ho la tua stessa versione di Netbeans.
    In libraries fai add jar/folder, scegli il tuo jar e poi quando appare nella lista spunti Package così da includere il jar nel pacchetto.
    Per aggiungere la libreria, mi sono sbagliato... quell'opzione c'è solo nei progetti delle Web Applications.
    Devi aggiungere la dll direttamente nel jar con un programma per gestire gli archivi compressi tipo winrar o izarc e poi fai QualsiasiClasse.class.getClass().getResourceAsStre am(<percorso_dll>) e ti salvi questo stream in un file in qualche cartella nel sistema, poi carichi la libreria usando quel percorso
    lolide
    Java Programmer

    Informati

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.