2009-04-29 45 views
44

Ho programmato un programma Java in JCreator, tutto è fatto, ma voglio creare un file eseguibile da esso, cioè non voglio dover eseguire il programma caricando le classi java e compilando quindi eseguendo, ma invece averlo come file eseguibile autonomo.Come posso creare un programma Java eseguibile?

Qual è il modo più rapido per farlo?

+4

Ci sono molti post su questo su stawoverflow. http://stackoverflow.com/questions/80105/whats-the-best-way-to-distribute-java-applications –

risposta

1

Scrivere uno script e renderlo eseguibile. Lo script dovrebbe essere simile quello che normalmente si usa nella riga di comando:

java YourClass 

Questo presuppone che si sia già compilato i file .java e che il Java possono trovare i file .class. Se java non riesce a trovare i file .class, potresti voler utilizzare l'opzione -classpath o impostare la variabile di ambiente CLASSPATH.

5

Sulla riga di comando, accedere alla directory principale dei file Java che si desidera rendere eseguibili.

Utilizzare questo comando:

jar -cvf [name of jar file] [name of directory with Java files] 

Questo creerà una directory chiamata META-INF in archivio jar. In questo META-INF c'è un file chiamato MANIFEST.MF, aprire il file in un editor di testo e aggiungere la seguente riga:

Main-Class: [fully qualified name of your main class] 

quindi utilizzare questo comando:

java -jar [name of jar file] 

e il vostro programma run :)

10

Io non sono molto sicuro di quello che vuoi dire.

Ma presumo tu intenda o 1 di 2 cose.

  • si desidera creare un file .jar eseguibile

Eclipse può farlo molto facilmente su File -> Esporta e creare un vaso e selezionare l'appropriato Main-Class e si metterà a generare il. barattolo per te In Windows potrebbe essere necessario associare .jar con il runtime java. aka Tenere scalare, fare clic destro "Apri con" individuare il JVM e associarlo javaw.exe

  • creare un file exe effettivo, allora avete bisogno di utilizzare una libreria extra come

http://jsmooth.sourceforge.net/ oppure http://launch4j.sourceforge.net/ creerà uno stub .exe nativo con una bella icona che essenzialmente eseguirà il bootstrap della tua app. Capiscono anche se il tuo cliente non ha una JVM installata e ti chiede di ottenerne una.

0

Come suggerito in precedenza, è possibile esaminare launch4j per creare l'eseguibile per il file JAR.Inoltre, c'è qualcosa chiamato "JExePack" che può mettere un wrapper .exe attorno al tuo file jar in modo che tu possa ridistribuirlo (nota: il client avrebbe comunque bisogno di un JRE per eseguire il programma sul suo pc) Exes creato con GCJ non ha questa dipendenza, ma il processo è un po 'più coinvolto.

3

Date un'occhiata a WinRun4J. È solo Windows, ma perché UNIX ha degli script eseguibili che sembrano (per l'utente) come bidoni. È anche possibile modificare facilmente WinRun4J per compilare su unix.

Si richiede un file di configurazione, ma ancora una volta, ricompilare con opzioni di hard-coded e funziona come un exe config-meno.

55

È possibile utilizzare il jar tool in bundle con l'SDK e creare una versione eseguibile del programma.

Ecco come è fatto.

sto postando i risultati dal mio prompt dei comandi perché è più facile, ma lo stesso dovrebbe valere quando si utilizza JCreator.

Innanzitutto creare il vostro programma:

$cat HelloWorldSwing.java 
    package start; 

    import javax.swing.*; 

    public class HelloWorldSwing { 
     public static void main(String[] args) { 
      //Create and set up the window. 
      JFrame frame = new JFrame("HelloWorldSwing"); 
      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 

      JLabel label = new JLabel("Hello World"); 
      frame.add(label); 

      //Display the window. 
      frame.pack(); 
      frame.setVisible(true); 
     } 
    } 
    class Dummy { 
     // just to have another thing to pack in the jar 
    } 

molto semplice, basta visualizza una finestra con "Ciao Mondo"

quindi compilarlo:

$javac -d . HelloWorldSwing.java 

Due file sono stati creati all'interno del " avviare" cartella Dummy.class e HelloWorldSwing.class.

$ls start/ 
Dummy.class  HelloWorldSwing.class 

Il prossimo passo, creare il file jar. Ogni file jar ha un file manifest, dove sono gli attributi relativi al file eseguibile.

Questo è il contenuto del file manifest.

$cat manifest.mf 
Main-class: start.HelloWorldSwing 

Proprio descrivono ciò che la classe principale è (quello con il principale metodo public static void)

Una volta che il manifesto è pronto, l'eseguibile barattolo viene richiamato.

Ha molte opzioni, qui sto usando -c -m -f (-c per creare jar, -m per specificare il file manifest, -f = il file dovrebbe essere chiamato ..) e la cartella I voglio barattolo.

$jar -cmf manifest.mf hello.jar start 

Questo crea il file .jar sul sistema

enter image description here

in seguito sarà possibile basta fare doppio clic su tale file che verrà eseguito come previsto.

enter image description here

Per creare il file .jar in JCreator basta usare menu "Strumenti", creare vaso, ma non sono sicuro di come il manifesto va là.

Ecco un video che ho trovato su: Create a Jar File in Jcreator.

Penso che si possa procedere con gli altri collegamenti pubblicati in questa discussione una volta acquisita familiarità con questo approccio ".jar".

È inoltre possibile utilizzare anche jnlp (Java Network Launcher Protocol).

+0

@IlmariKaronen Aggiornato! – OscarRyz

1

Java Web Start è una buona tecnologia per l'installazione di rich client Java da Internet diretta al desktop dell'utente finale (indipendentemente dal fatto che il sistema operativo sia Windows, Mac o * nix). Viene fornito completo di integrazione desktop e aggiornamenti automatici, tra molti altri extra.

Per ulteriori informazioni su JWS, vedere JWS info page.

+0

FYI, * Java Web Start * e JNLP sono obsoleti in Java 9 e sono previsti per la rimozione. Vedi questo [elenco di deprecazione] (http://www.oracle.com/technetwork/java/javase/9-deprecated-features-3745636.html) di Oracle, facendo riferimento a 'JDK-8184998 (non pubblico)': ** * Le tecnologie di distribuzione Java sono deprecate e verranno rimosse in una versione futura ** Funzionalità Java Applet e WebStart, tra cui l'API Applet, Il plug-in Java, Java Applet Viewer, JNLP e Java Web Start compreso lo strumento javaws sono tutti deprecati in JDK 9 e verrà rimosso in una versione futura. * –

3

Jexecutable può creare Windows exe per i programmi Java. Incorpora i vasi in un file exe ed è possibile eseguirlo come un programma Windows.

0

Se si utilizza NetBeans, è sufficiente premere f11 e il progetto verrà creato. Il percorso predefinito è cartella di progetto \ dist

10

Se si utilizza Eclipse, è possibile provare i seguenti 7 passaggi per ottenere un file .exe per Windows.

step1step2step3

Ora avete un file JAR. Utilizzare java -jar path/jarname.jar per l'esecuzione.

enter image description here


Se si desidera convertire questo per .exe, si può provare http://sourceforge.net/projects/launch4j/files/launch4j-3/

STEP5STEP6

STEP7: assegnare al file .xml un nome appropriato e fare clic su " Salvare". Il file .xml è standard, non ti preoccupare. Il tuo file eseguibile verrà ora creato!

+0

In che modo Linux e MacOS gestiscono gli eseguibili? Fare doppio clic sul file jar funziona su qualsiasi sistema operativo? –

+0

@androiddeveloper Finché esiste un ambiente java per un sistema operativo, funzionerà allo stesso modo. – reporter

Problemi correlati