2 Stimmen

Erzwingen der Ausführung von Java-Applets in 32-Bit- statt 64-Bit-JRE

Ich habe ein Java-Applet, das unter 32-Bit JDK (1.5) entwickelt wurde. Wenn ich es auf einem neuen MacOS (10.7) einsetze, läuft es nicht richtig - weil 64-bit JRE in diesem System standardmäßig bevorzugt wird (es gibt zwei zur Auswahl, 32 und 64 bit). Wenn die bevorzugte Reihenfolge zuerst auf 32-Bit geändert wird, ist alles in Ordnung - aber das ist keine Lösung, weil das Ändern der Einstellungen auf einem Client-Rechner unpraktisch ist. Für ein eigenständiges Anwendungsbündel könnte es mit den richtigen Einstellungen in der info.plist behoben werden, indem einfach die Anwendungsarchitektur angegeben wird.

Also, gibt es eine Möglichkeit, eine gleiche Sache zu machen, wenn Applet starten - i386-Architektur angeben, Browser zu erzwingen, 32-Bit-JRE ausführen, JVM erzwingen, in 32-Bit zu arbeiten, oder etwas?

Im Moment habe ich nur gefunden, wie man die JRE-Version/Familie für das Applet angibt, aber das hilft nicht. Ich versuche, ein Applet mit dem Code zu starten 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>

Ich würde die Vorschläge begrüßen!

0 Stimmen

2 Fragen: Warum läuft es nicht richtig und warum denken Sie, dass es mit der JRE zu tun hat?

1 Stimmen

1) Warum? Das weiß ich nicht. Soweit ich weiß, verwendet das Programm keine nativen Bibliotheken. 2) Wie gesagt, wenn ich eine andere (32-Bit) JRE auf einem Client-Rechner als bevorzugt wähle, funktioniert es gut.

0 Stimmen

Könnten Sie einige Details zu dem Fehler angeben, damit wir Ihnen helfen können?

1voto

Justin Trevein Punkte 1406

Das Problem ist also so gut wie gelöst, falls es jemanden interessiert.

Für ein Applet ist das unmöglich. Es ist möglich, die JVM im 32-Bit-Modus mit Hilfe von Java Web Start zu starten. Aber mit der aktuellen (Java SE 6) Implementierung ist JWS weniger bequem als Applets, weil ein absolutes "Codebase"-Feld in der Konfigurationsdatei, die die Bereitstellung eines Applets / Anwendung begrenzt.

Es scheint, dass das Problem in der JRE-Implementierung liegt - mein Programm hat wirklich nur sehr wenige systemspezifische Teile und keinen Teil, der von der Bittigkeit abhängt. Würde weiter testen, um ein Problem für einen Fehlerbericht zu lokalisieren :)

0 Stimmen

Allgemeine Informationen zu JWS finden Sie in den offiziellen Dokumenten: docs.oracle.com/javase/tutorial/deployment/webstart/ So starten Sie die JVM in 32-Bit: Schreiben java-vm-args="-d32" innerhalb des Tags <j2se> in der jnlp-Datei: wie <j2se version="1.6+" java-vm-args="-d32" href="http://java.sun.com/products/autodl/j2se"/>

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X