2010-06-25 13 views
6

Ciao Voglio creare un file exe per la mia app java.Come creare un file exe in java

Ho provato con alcuni software di terze parti JEXECreator, ho creato correttamente il file exe e funziona correttamente nel mio sistema, quando ho provato con un'altra macchina, non funziona. Ho ottenuto il seguente errore

* The error occurred while running the application. The exit code is 0x10000223. 
    * Contact the vendor of the application for troubleshooting. 

    java.lang.ClassNotFoundException: com.sample.SampleMain 
     at java.net.URLClassLoader$1.run(Unknown Source) 
     at java.security.AccessController.doPrivileged(Native Method) 
     at java.net.URLClassLoader.findClass(Unknown Source) 
     at java.lang.ClassLoader.loadClass(Unknown Source) 
     at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) 
     at java.lang.ClassLoader.loadClass(Unknown Source) 
     at java.lang.ClassLoader.loadClassInternal(Unknown Source) 
     at java.lang.Class.forName0(Native Method) 
     at java.lang.Class.forName(Unknown Source) 
     at com.ucware.JEXEClassLoader.run(Unknown Source) 
     at com.ucware.JEXEClassLoader.main(Unknown Source) 
    ************************************** 

So che c'è qualcosa di sbagliato con il percorso di classe, che ho impostato.

In realtà voglio creare il file exe da solo senza utilizzare alcun software di terze parti.

ho trovato la procedura descritta in molti siti

creato il file manifesto denominato Sample.mft con i seguenti contenuti

  Manifest-Version: 1.0 
     Main-Class: 
     Class-path: 

In questo ho qualche dubbio,

  1. Come il La classe principale deve essere aggiunta, con il nome completo del pacchetto (com.sample.SampleMain) o il nome della classe da solo (SampleMain) o con l'estensione (SampleMain.class)

  2. Come deve essere aggiunto il percorso di classe, ho 4 classi java e 2 jars nel mio progetto. Come aggiungere tutti questi nel percorso della classe e devo aggiungere java java in classpath.

  3. Dove il file manifesto deve essere salvato

  4. Quale dovrebbe essere l'estensione del file manifest (mf o MFT)

  5. Nel prompt dei comandi dalla quale directory devo creare il file exe (dal mio progetto cartella cartella o src o la cartella che contiene tutte le classi Java)

  6. Qual è la sintassi dovrebbe essere utilizzato durante la creazione vaso nel prompt dei comandi

(vaso CMF Sample.mf Sample.jar Sample1.class Sample2.class Sample3.class Sample4.class jar1.jar jar2.jar) o simili (barattolo CVFM Sample.jar sample.mf * .class)

Quando ho fatto qualcosa di simile, sto ricevendo un jar invece del file exe, quando eseguo il jar nel prompt dei comandi utilizzando "java -jar sample.jar", quindi ricevo l'eccezione di classe non trovata ".

In realtà, come creare un file exe invece di un file jar, ovvero facendo semplicemente doppio clic sul file exe, è necessario eseguire l'app in qualsiasi computer.

Qualcuno può aiutarmi a fare questo?

Grazie in anticipo.

+1

possibile duplicato di [Crea .exe per il programma Java] (http://stackoverflow.com/questions/516399/create-exe-for-java-program) –

+1

L'overflow dello stack ha una casella di ricerca molto bella in alto a destra angolo ... –

risposta

-1

Bene Vi suggerirò di creare un file bash invece di fare cose complesse e facendo doppio clic su di esso è possibile eseguire l'applicazione.Sì, ma non puoi cambiare la sua icona ma ci sono molti strumenti gratuiti disponibili usando il quale puoi facilmente convertire il file bash in exe.

+0

No, non è possibile convertire uno script di shell Bash in un file eseguibile di Windows. – duskwuff

1

Personalmente, mi piace JSmooth. Questo è solo avvolgente. Ciò significa che è ancora un'applicazione Java. Eseguendo l'exe, decomprimerà il contenitore in una cartella temporanea e quindi lo eseguirà con javaw -jar ...

Una seconda opzione è gcj. Ma questa è assolutamente una cattiva scelta. Questo non avvolge il jar in un exe, ma lo compila davvero sul codice di sistema nativo. Ma questo rallenta molto la tua applicazione molto. È possibile controllare alcuni risultati dei miei tempi su this topic.

3

a utilizzare lo strumento Ant in Eclipse IDE per lavorare con InnoSetup e Launch4J per creare il file EXE e la sua installazione, che gestisce anche il percorso di classe ...

Una guida? Si può fare riferimento a:

http://www.eteks.com/tips/tipCreationExe.html (in francese)

1

Ho avuto qualche esperienza positiva con Excelsior JET. A differenza di gcj, in realtà funziona e i tempi di esecuzione sono più veloci di quelli di un file .jar eseguito. Il rovescio della medaglia è che non è gratis.

+0

Esistono licenze gratuite per progetti pubblici non commerciali. –

+0

So che questo è vecchio, ma lo consiglio anche a chiunque cerchi. – SevenBits

0

Per creare un file exe, utilizzo launch4j. Launch4j converte il file jar in file exe e, se voglio comprarlo per l'installer, utilizzo InnoSetup. Per me, questo exe creato da launch4j funziona su pc.