Come posso convertire il mio programma Java in un.file exe? [chiuso]


Se ho un file sorgente Java (*.java) o un file di classe (*.classe), come posso convertirlo in un .file exe?

Ho anche bisogno di un programma di installazione per il mio programma.

Author: xskxzr, 2008-09-29

13 answers

Alcune opzioni:

File Jar eseguibile

Vedere anche Distribuzione dell'applicazione come file JAR eseguibile e Oracle docs su come creare un file jar che può essere eseguito con un doppio clic su Windows.

JSmooth

(MODIFICA: l'ultima versione era in 2007)

JSmooth è un wrapper eseguibile Java. Crea lanciatori nativi di Windows (standard .exe) per le applicazioni java. Rende java distribuzione molto più agevole e facile da usare, in quanto è in grado di trovare qualsiasi VM Java installata da sola.

JexePack

(MODIFICA: Shareware: Ultimo aggiornamento nella versione 2013/08/29-8.4)

JexePack è uno strumento a riga di comando (ottimo per lo scripting automatico) che consente di impacchettare l'applicazione Java (file di classe), facoltativamente insieme alle sue risorse (come GIF/JPG / TXT / etc), in un singolo Windows EXE compresso a 32 bit, che viene eseguito utilizzando il Runtime Java di Sun Ambiente. Sono supportate sia le applicazioni console che le finestre.

LaunchAnywhere

(EDIT: Commerciale con prova gratuita, Ultima versione è da 2012)

Un eseguibile LAX è un file eseguibile che viene utilizzato per avviare un'applicazione Java su qualsiasi piattaforma compatibile con LaunchAnywhere. Attualmente, InstallAnywhere crea LaunchAnywheres su Windows 95/98 / NT / 2000 / Me, Solaris, Linux e Mac OS X. LaunchAnywhere consente agli utenti finali di fare doppio clic su un'icona (Windows o Mac OS X) o digitare un singolo comando (UNIX) per avviare un'applicazione Java.

Vedi anche per riferimento Converti Java in EXE: perché, quando, Quando no e come

 287
Author: Jay, 2016-07-23 20:00:48

Lanciato4j

Launch4j è uno strumento multipiattaforma per il wrapping di applicazioni Java distribuite come jar in eseguibili nativi di Windows leggeri. L'eseguibile può essere configurato per cercare una determinata versione di JRE o utilizzarne una in bundle, ed è possibile impostare le opzioni di runtime, come la dimensione iniziale/massima dell'heap. Il wrapper offre anche una migliore esperienza utente attraverso un'icona dell'applicazione, una schermata iniziale pre-JRE nativa, un nome di processo personalizzato e una pagina di download Java nel caso in cui il JRE appropriato non possa essere trovato.

 103
Author: the.duckman, 2008-09-29 08:10:37

GCJ: Il compilatore GNU per Java può compilare il codice sorgente Java in codice macchina nativo, inclusi gli eseguibili Windows.

Sebbene non tutto in Java sia supportato in GCJ, specialmente i componenti della GUI (vedi Quali API Java sono supportate? Quanto è completo il supporto? domanda dalla FAQ ). Non ho usato molto GCJ, ma dai test limitati che ho fatto con le applicazioni della console, sembra che vada bene.

Uno svantaggio dell'uso di GCJ per creare un eseguibile standalone è che la dimensione dell'EXE risultante può essere abbastanza grande. Una volta ho compilato un'applicazione console banale in GCJ e il risultato è stato un eseguibile di circa 1 MB. (Ci possono essere modi per aggirare questo che non sono a conoscenza. Un'altra opzione sarebbe programmi di compressione eseguibili.)

In termini di programmi di installazione open source, il Nullsoft Scriptable Install System è un programma di installazione scriptable. Se sei curioso, ci sono esempi di contributo utente su come rilevare la presenza di un JRE e installarlo automaticamente se il JRE richiesto non è installato. (Solo per farti sapere, non ho usato NSIS prima.)

Per ulteriori informazioni sull'utilizzo di NSIS per l'installazione di applicazioni Java, si prega di dare un'occhiata a la mia rispostaper la domanda " Qual è il modo migliore per distribuire applicazioni Java?"

 34
Author: coobird, 2017-05-23 12:26:42

Si può provare molti dei wrapper java là fuori come JSmooth, JWrapper, e altre utilità, ma si può anche fare un .bat con il seguente codice:
start javaw -jar JarFile.jar
e convertire il pipistrello in un exe usando qualsiasi .bat a .convertitore exe.

 24
Author: bugwheels94, 2014-10-21 18:04:17

Stiamo usando Install4J per creare programmi di installazione per ambienti Windows o unix.

È facilmente personalizzabile fino al punto in cui si desidera scrivere script per azioni speciali che non possono essere eseguite con dialoghi standard. Ma anche se stiamo impostando i servizi di Windows con esso, stiamo usando solo componenti standard.

  • programma di installazione + avvio
  • windows o unix
  • script in Java
  • attività formica
  • un sacco di pannelli standard personalizzabili e azioni
  • opzionalmente include o scarica un JRE
  • può anche lanciare i servizi di Windows
  • più lingue

Penso che Launch4J provenga dalla stessa azienda (solo il launcher - nessun programma di installazione).

PS: purtroppo non vengo pagato per questa approvazione. Mi piace quello strumento.

 15
Author: Stroboskop, 2008-09-29 13:01:46

L'ultimo Java Web Start è stato migliorato per consentire un buon funzionamento offline e consentire "installazione locale". Vale la pena esaminare.

EDIT 2018: Java Web Start non è più in bundle con il più recente JDK. Oracle sta spingendo verso un modello "distribuisci la tua app localmente con un JRE incluso".

 15
Author: Thorbjørn Ravn Andersen, 2018-09-29 15:07:45

IMHO JSmooth sembra fare un buon lavoro.

 9
Author: jussij, 2016-04-25 04:18:21

Se è necessario convertire l'intera applicazione in codice nativo, ovvero una DLL EXE plus, c'è ExcelsiorJET. Ho trovato che funziona bene e ha fornito un'alternativa al raggruppamento di un JRE.

 8
Author: mdma, 2010-04-29 01:38:47

Direi launch4j è lo strumento migliore per convertire un codice sorgente java(.java) a .exe Puoi persino raggruppare un jre con esso per la distribuzione e l'exe può anche essere iconificato. Sebbene la dimensione dell'applicazione aumenti, si assicura che l'applicazione funzioni perfettamente anche se l'utente non ha un jre installato. Si assicura inoltre che tu sia in grado di fornire il jre specifico richiesto per la tua app senza che l'utente debba installarlo separatamente. Ma sfortunatamente, java perde la sua importanza. Il suo supporto multi piattaforma è totalmente ignorato e l'applicazione finale è supportato solo per Windows. Ma questo non è un grosso problema, se si sono catering solo per gli utenti di Windows.

 5
Author: Pratanu Mandal, 2012-08-27 18:40:48

Puoi usare Janel. Quest'ultimo funziona come un lanciatore di applicazioni o di servizio launcher (disponibile da 4.X).

 5
Author: L. BIZE, 2013-06-10 09:13:54

In alternativa, è possibile utilizzare un traduttore java-to-c (ad esempio, JCGO ) e compilare i file C generati in un binario nativo (.file exe) per la piattaforma di destinazione.

 4
Author: Ivan Maidanski, 2010-05-28 14:26:14

Posso essere perdonato per essere contrario alla conversione di un programma java in un .applicazione exe e ho le mie ragioni. il principale è che un programma java può essere compilato in un file jar da molti IDE. Quando il programma è in.formato jar, può essere eseguito in più piattaforme al contrario di .exe che funzionerebbe solo in un ambiente molto limitato. Sono per l'idea che i programmi Java non debbano essere convertiti in Exe a meno che non sia molto necessario. Si può sempre scrivere .file bat che esegue il programma Java mentre è un file jar.

Se è davvero necessario convertirlo in exe, Jar2Exe converter lo fa silenziosamente e si possono anche allegare librerie compilate insieme all'Applicazione principale.

 3
Author: ErrorNotFoundException, 2012-07-19 13:16:24

Puoi convertire jar in exe usando jar2exe. Tuttavia è necessario acquistare il software. Se avete bisogno di un software open source vorrei suggerire JSmooth.

 2
Author: Raghunandan, 2016-04-25 04:19:52