2010-03-15 13 views
5

Ich versuche, eine JRE mit meiner JAR-Datei zu bündeln, so dass ich meine Anwendung auf jedem Windows-Computer ausführen kann, unabhängig davon, ob es Java hat oder nicht. Das JSmooth Handbuch sagt:JSmooth Frage zum Bündeln einer JRE

For the option to work correctly, you have to put a JRE in a directory near the EXE (generally in a subdirectory called "jre" or whatever). Once the exe is generated, it will FIRST try to locate the JRE at the location mentioned. If it can't be found there, then it will fallback in the normal jre look-up mode (search for a jre or a jdk in the Windows registry or in commonly-used environment variables). There is no JVM-version check when using a bundled JRE, as the packager is supposed to bundle a suitable JVM for the application.

Bedeutet dies, dass die jre Unterordner sollte im Glas enthalten sein, ein eigener separater Gefäß sein, oder in dem Ordner abgelegt, die zusammen mit der exe kommt? Wenn es in einem Ordner mit der exe sein soll, wie kann ich den relativen Pfad zum Unterordner jre angeben?

Meine Verzeichnisse sind wie folgt:

setup/

-jre/

-myprogram.exe

Ich versuchte ..\jre verwenden, .\jre, ..\setup\jre in dem GUI-Bildschirm, aber keine von ihnen hat gearbeitet.

Alle Ideen oder Hinweise würden sehr geschätzt werden. Vielen Dank!

EDIT: als ich versuchte jre (und ..\jre Ich denke), habe ich die folgende Fehlermeldung von Windows, wenn ich es versucht, es auszuführen "MyProgram.exe hat aufgehört zu laufen." Wenn ich mir die Problemdetails anschaue, steht APPCRASH und der Name des Fehlermoduls lautet jvm.dll

+0

Wie wäre es nur „jre“? Windows nimmt Pfade relativ zum aktuellen Ordner an, sofern nicht anders angegeben. –

+0

Wenn ich. \ Jre verwendet, hat das Programm es auf plain jre umgestellt, und es hat immer noch nicht funktioniert. Ich werde es wieder versuchen, obwohl – chama

+0

immer noch nicht funktioniert hat. – chama

Antwort

0

Haben Sie launch4j versucht (http://launch4j.sourceforge.net/), wechselten wir von JSmooth dazu vor einer Weile, wie es war bis bis heute und hatte mehr Funktionen.

Aber setzen Sie den JRE-Ordner in den gleichen Ordner wie die EXE-Datei, und verwenden Sie dann jre \ als Pfad dazu. Sie müssen sicherstellen, dass der Arbeitsordner von .exe der Installationsordner ist. Und stellen Sie sicher, dass Sie eine vollständige JRE im JRE-Ordner haben.

0

einfach den „jre“ -Ordner neben der exe und schreiben „jre“ (ohne Anführungszeichen) in der GUI von JSmooth