2009-04-29 9 views
44

Ich habe ein Java-Programm in JCreator programmiert, alles ist erledigt, aber ich möchte daraus eine ausführbare Datei erstellen, dh ich möchte das Programm nicht durch Laden der Java-Klassen und Kompilieren ausführen, sondern ausführen lassen als eigenständige ausführbare Datei.Wie erstelle ich ausführbares Java-Programm?

Was ist der schnellste Weg, dies zu tun?

+4

Es gibt eine Menge Post darüber auf stawoverflow. http://stackoverflow.com/questions/80105/whats-the-best-way-to-distribute-java-applications –

Antwort

1

Schreiben Sie ein Skript und machen Sie es ausführbar. Das Skript sollte wie folgt aussehen, was Sie normalerweise in der Befehlszeile verwenden würden:

java YourClass 

Dies vorausgesetzt, dass Sie bereits Ihre .java-Dateien und die Java können Ihre .class-Dateien finden kompiliert haben. Wenn Java Ihre .class-Dateien nicht finden kann, sollten Sie die Option -classpath verwenden oder die Umgebungsvariable CLASSPATH festlegen.

5

Navigieren Sie in der Befehlszeile zum Stammverzeichnis der Java-Dateien, die Sie ausführbar machen möchten.

Verwenden Sie diesen Befehl:

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

Dies wird ein Verzeichnis mit dem Namen META-INF im jar-Archiv erstellen. In dieser META-INF gibt es eine Datei MANIFEST.MF, öffnen Sie diese Datei in einem Texteditor und fügen Sie die folgende Zeile genannt:

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

dann verwenden Sie diesen Befehl:

java -jar [name of jar file] 

und Ihr Programm wird run :)

10

Ich bin nicht ganz sicher, was du meinst.

Aber ich nehme an, du meinst entweder 1 von 2 Sachen.

  • Sie wollen eine ausführbare .jar-Datei

Eclipse kann dies tun wirklich leicht Datei erstellen -> Export und erstellen Sie ein Glas und die entsprechende Main-Klasse wählen und es wird das generieren. Glas für dich. In Windows müssen Sie möglicherweise .jar mit der Java-Laufzeitumgebung verknüpfen. Halten aka herunterschalten, Rechtsklick „Öffnen mit“, um Ihre Jvm durchsuchen und verbinden sie mit javaw.exe

  • erstellen eine tatsächliche Exe-Datei, dann müssen Sie eine zusätzliche Bibliothek verwenden wie

http://jsmooth.sourceforge.net/ oder http://launch4j.sourceforge.net/ erstellt einen nativen EXE-Stub mit einem netten Symbol, das Ihre App im Wesentlichen bootstrappt. Sie finden sogar heraus, ob Ihr Kunde keine JVM installiert hat und Sie auffordern, eine JVM zu installieren.

0

Wie bereits erwähnt, können Sie sich launch4j ansehen, um die ausführbare Datei für Ihre JAR-Datei zu erstellen.Außerdem gibt es etwas namens "JExePack", das einen .exe-Wrapper um Ihre JAR-Datei legen kann, so dass Sie es weiter verteilen können (Hinweis: Der Client würde sowieso eine JRE benötigen, um das Programm auf seinem PC auszuführen) Exes erstellt mit GCJ nicht diese Abhängigkeit, aber der Prozess ist ein wenig mehr beteiligt.

3

Werfen Sie einen Blick auf WinRun4J. Es ist nur Windows, aber das liegt daran, dass Unix ausführbare Skripte hat, die (für den Benutzer) wie Bins aussehen. Sie können WinRun4J auch leicht modifizieren, um unter Unix zu kompilieren.

Es erfordert eine Konfigurationsdatei, aber erneut, kompilieren Sie es mit hartcodierten Optionen und es funktioniert wie eine Config-less exe.

55

Sie können die mit dem SDK gebündelte jar tool verwenden und eine ausführbare Version des Programms erstellen.

So wird es gemacht.

Ich poste die Ergebnisse von meiner Eingabeaufforderung, weil es einfacher ist, aber das gleiche sollte bei der Verwendung von JCreator gelten.

zuerst Ihr Programm erstellen:

$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 
    } 

Sehr einfach, zeigt nur ein Fenster mit "Hallo Welt"

es dann kompilieren:

$javac -d . HelloWorldSwing.java 

Zwei Dateien wurden in das erstellte " Start "Ordner Dummy.class und HelloWorldSwing.class.

Im nächsten Schritt erstellen Sie die JAR-Datei. Jede JAR-Datei hat eine Manifest-Datei, in der die Attribute der ausführbaren Datei enthalten sind.

Dies ist der Inhalt meiner Manifest-Datei.

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

einfach beschreiben, was die Hauptklasse ist (die mit der public static void main-Methode)

Sobald das Manifest fertig ist, wird das Glas ausführbare aufgerufen.

Es hat viele Optionen, hier verwende ich -c -m -f (-c um jar zu erstellen, -m um die Manifest-Datei anzugeben, -f = die Datei sollte benannt werden ..) und den Ordner I möchte krabbeln.

$jar -cmf manifest.mf hello.jar start 

Dies schafft die .jar-Datei auf dem System

enter image description here

Sie können später einfach einen Doppelklick auf die Datei, und es wird wie erwartet ausgeführt.

enter image description here

Um die .jar-Datei in JCreator erstellen Sie müssen nur Menü „Extras“ verwenden, erstellen jar, aber ich bin nicht sicher, wie das Manifest es geht.

Hier ist ein Video, das ich gefunden habe: Create a Jar File in Jcreator.

Ich denke, Sie können mit den anderen in diesem Thread veröffentlichten Links fortfahren, sobald Sie mit diesem ".jar" -Ansatz vertraut sind. Sie können auch jnlp (Java Network Launcher Protocol) verwenden.

+0

@IlmariKaronen Aktualisiert! – OscarRyz

1

Java Web Start ist eine gute Technologie für die Installation von Java Rich Clients aus dem Internet direkt auf den Desktop des Endbenutzers (unabhängig davon, ob das Betriebssystem Windows, Mac oder * nix ist). Es kommt komplett mit Desktop-Integration und automatischen Updates, neben vielen anderen Leckereien.

Weitere Informationen zu JWS finden Sie unter JWS info page.

+0

FYI, * Java Web Start * und JNLP sind in Java 9 veraltet und zum Entfernen vorgesehen. Sehen Sie diese [deprecation list] (http://www.oracle.com/technetwork/java/javase/9-deprecated-features-3745636.html) von Oracle unter Bezugnahme auf 'JDK-8184998 (nicht öffentlich)': ** * Java Deployment Technologies sind veraltet und werden in einer zukünftigen Version entfernt. ** Java Applet und WebStart Funktionalität, einschließlich der Applet API, Das Java Plug-in, der Java Applet Viewer, JNLP und Java Web Start einschließlich des Java Tools sind veraltet in JDK 9 und wird in einer zukünftigen Version entfernt. * –

3

Jexecutable kann Windows Exe für Java-Programme erstellen. Es bettet die Gläser in exe-Datei ein und Sie können es wie ein Windows-Programm ausführen.

0

Wenn Sie NetBeans verwenden, drücken Sie einfach f11 und Ihr Projekt wird erstellt. Der Standardpfad ist Projektordner \ dist

10

Wenn Sie Eclipse verwenden, können Sie die folgenden 7 Schritte versuchen, eine EXE-Datei für Windows zu erhalten.

step1step2step3

Jetzt haben Sie eine JAR-Datei. Verwenden Sie java -jar Pfad/jarname.jar zum Ausführen.

enter image description here


Wenn Sie dies .exe konvertieren möchten, können Sie versuchen, http://sourceforge.net/projects/launch4j/files/launch4j-3/

STEP5STEP6

STEP7: Geben Sie der XML-Datei einen entsprechenden Namen und klicken Sie auf " Sparen". Die .xml-Datei ist Standard, mach dir keine Sorgen. Ihre ausführbare Datei wird jetzt erstellt!

+0

Wie behandelt Linux und MacOS die ausführbaren Dateien? Wird ein Doppelklick auf die JAR-Datei auf einem der Betriebssysteme funktionieren? –

+0

@androiddeveloper Solange eine Java-Umgebung für ein Betriebssystem existiert, wird sie genauso funktionieren. – reporter