2009-08-26 10 views

Antwort

1

Damit die Anwendung ausgeführt werden kann, benötigen Sie die Laufzeit. In der Tat die allererste Sache, die geschieht, wenn Sie die App starten, ist ein Aufruf an OS, um JRE zu starten. Sie können nicht ohne JRE auskommen.

[Sie können JRE natürlich auch in Ihre App integrieren, wenn Sie möchten].

+0

Soweit ich weiß, Du liegst nicht falsch, aber ich bin neugierig; Warum ist das der Fall? Es gibt ein paar verschiedene Dienstprogramme (py2exe ist eins), die den Python-Interpreter mit einem Installer verpacken. – Imagist

+0

Der springende Punkt von virtuellen Maschinen ist, dass Sie die Anwendung vom zugrunde liegenden Betriebssystem abstrahieren möchten. Ein anderes Beispiel ist die Garbage Collection. Es gibt keine Möglichkeit, dass die Garbage Collection funktioniert, ohne dass jemand die Anwendung überblickt und Speicher freigibt, wenn das Objekt seinen Gültigkeitsbereich verlässt. Dies geschieht durch die JRE. – Sesh

1

GCJ kann systemeigenen Code aus Java-Quelldateien erstellen. Here's ein Tutorial zum Erstellen in Windows.

+0

können Sie sagen, wie gut funktioniert GCJ mit Java 1.5 und 1.6 Funktionen? – Vanya

+1

Zuletzt wusste ich, es funktioniert nur mit JDK 1.4, was schade ist. – Cinder6

6

Sie können die JRE mit Ihrer Anwendung versenden und diese JRE für Ihre Anwendung verwenden. Der Effekt ist der gleiche: Die Anwendung wird durch eine ausführbare Datei (Wrapper benötigt) oder Skript (Batch) gestartet und der Zielrechner muss keine Java Runtime installiert haben.

Java nicht über ‚installiert‘, wird es muss nur ‚Gegenwart‘ sein.

1

Ich habe JSmooth zum Exifizieren meiner Anwendung verwendet. Es ermöglicht auch das Einbetten einer JRE. Ich habe nur das "Sicherstellen, dass mindestens Java X verfügbar ist" verwendet.

GPL, kann als eine Ant-Task ausgeführt werden.

0

Haben Sie versucht install4j? Es gibt verschiedene, teilweise kostenlose, Versionen dieses Konzepts. Im Wesentlichen kompiliert diese Anwendung Ihre Anwendung in einem ausführbaren Installer, der für das Betriebssystem Ihrer Wahl spezifisch ist.

0

Gut angesichts der Tatsache, dass Sie eine ausführbare Datei (exe) in Windows anfordern möchten, gibt es einen anderen Ansatz:

Verwenden IKVM.NET - Bytecode Compiler die .NET-DLL zu Java-Bytecode umwandelt und exe.

Holen Sie sich die neueste Version von IKVM.NET here.

Verwenden Sie diesen Befehl

ikvmc -target:exe -out:foo.exe yourJarFile.jar 

Ihre .NET ausführbare Datei zu erstellen.

Danach können Sie Ihre exe mit der obligatorischen IKVM DLL verwenden oder wenn Sie eine exe-Datei bevorzugen, können Sie ILMerge verwenden, um eine ausführbare Datei zu erhalten:

ILMerge.exe /target:winexe /targetplatform:"v4,C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1" /out:C:\foo\bar.exe foo.exe <IKVM dll's>.dll 
Verwandte Themen