Force java-applet zur Ausführung im 32-bit anstatt 64-bit-JRE

Ich habe ein Java-applet, entworfen unter 32-bit-JDK (1.5). Bei der Bereitstellung auf einem neuen MacOS (10.7) läuft es falsch, weil 64-bit-JRE wird bevorzugt, standardmäßig in diesem system (es gibt zwei für sich entscheiden, 32 und 64 bit). Wenn die bevorzugte Reihenfolge ist geändert auf 32-bit-erste, ist alles OK - aber das ist keine Lösung, denn das ändern von Einstellungen auf einem client-Rechner ist unbequem. Für ein standalone-Anwendung zu bündeln, könnte es behoben werden, mit der richtigen Einstellungen in info.plist, nur die Angabe von app-Architektur.

So, ist es ein Weg, um eine gleiche Sache beim starten von Applets zu spezifizieren i386-Architektur, Kraft-browser zum ausführen von 32-bit-JRE -, Kraft-JVM 32-bit, oder was?

Jetzt fand ich nur, wie Sie angeben, JRE-version/Familie für das applet, es hilft nicht. Ich bin versucht zu starten-applet mit der code wie:

<object
classid="clsid:CAFEEFAC-0015-0000-FFFF-ABCDEFFEDCBA"
width="740" height="400"
codetype = "application/x-java-applet;version=1.5"
>
<param name="code" value = "ca/lcsi/Program/App/LogoFrameApplet.class"> 
<param name="archive" value="webplayer.jar">
<param name="project" value="testpath.tsfp"> 
<param name="lang" value="en">
    <embed 
    type="application/x-java-applet;version=1.5" 
    code="ca/lcsi/Program/App/LogoFrameApplet.class"
    archive = "webplayer.jar"
    project = "testpath.tsfp"
    lang = "en"
    width="740" height="400"
    >
</object>

Würde schätzen, dass die Vorschläge!

  • 2 Fragen: Warum läuft es falsch und warum denkst du, es hat zu tun mit der JRE?
  • 1) Warum? Ich weiß es nicht. Soweit ich weiß, das Programm benutzt keine nativen Bibliotheken. 2) Wie gesagt, wenn ich wählen Sie einen anderen (32-bit) JRE auf einem client-Rechner als bevorzugt, es funktioniert gut.
  • Konnte Sie nach ein paar Informationen über den Fehler, damit wir Ihnen helfen können?
  • Es wird normal ausgeführt, nur mit einigen bug. Sorry, glaube nicht, ich würde diesen Weg gehen - ich brauche nicht eine funktionierende 64-bit-applet, zumindest jetzt gerade, also billiger ist als die 32-bit -, als zu versuchen, lösen den bug, nur eine entdeckt, es könnte noch mehr sein). Was ich brauche, ist eine Taste oder eine Eigenschaft zu übergeben, um ein Start-applet zu machen, starten im 32-bit-JRE.
  • Bitte definieren Sie "einige Fehler". Wenn Sie nicht mit JNI die Klassen sollten tragbar sein und funktionieren wie erwartet. Es gibt keine x64-bytecode oder x32-bytecode. TRUG usw.
  • Ich weiß, es sollte tragbar sein. Noch, obwohl es nicht das JNI, ich kann nicht sicher sein, es enthält keine native implemenations, weil Projekt nicht gestartet war von mir. Das ist whay ich will nicht zu Graben in code und debug es, aber wollen, um einen workaround.
  • Wenn Sie darauf bestehen, so ist der Fehler: beim starten der interne Prozess zweimal (von zwei Kontrollen), es reagiert anstatt zu stoppen Vorherige Instanz und startet neu.

Schreibe einen Kommentar