JVM - Abwärtskompatibilität

Status
Nicht offen für weitere Antworten.

bronks

Top Contributor
Hi!

Daß sich alter Javacode nicht mit einem aktuellen JDK kompilieren läßt ist ja mehr als üblich, aber das was mir jetzt passiert hat mich fast vom Stuhl gerissen. Ein mit JDK 1.3.1 kompiliertes Programm zeigt auf JRE 1.4.2 ein absolut unberechenbares und nicht nachvollziehbares Fehlverhalten.

Ist es möglich die JVM 1.4.2 (und am besten höher) so aufzurufen, daß sich diese genauso verhält, wie die JVM 1.3.1?

Danke!

Bronks
 

thE_29

Top Contributor
Was für ein Fehlverhalten zeigt es den?

Und es gibt zwar einen -version Parameter aber dazu müsstest du die andere Version installiert haben!
 

bronks

Top Contributor
Das Fehlverhalten: Wenn in einer JTable aus einem bestimmten Feld in das nachfolgende per TabTaste gewechselt wird, dann werden in dieses die Inhalte aus dem vorigen Feld übernommen.

Kompiliert mit JDK1.3.1_14 kann das ganze mit der dazugehörenden JRE einwandfrei ausgeführt werden. Sobald das ganze auf JVM1.4 läuft, dann hat man o.g. Problem.
 
G

Gast

Gast
Ich hatte die gleichen Probleme. Denke das liegt am Fokus der ab der 1.4 anders arbeitet.
 

bronks

Top Contributor
Mittlerweile bin ich über weitere Inkompatibilitäten übelst gestolpert, so daß ich die GUI wirklich nur auf JRE 1.3.1 laufen darf.

Wie oben von thE_29 erwähnt gibt es den Parameter "-version:" klappt ja wunderbar damit. Kann mir bitte jemand von euch sagen, wie ich erreichen kann, daß ein JAR nur mit JRE 1.3.1 startbar ist?

Danke!
 

L-ectron-X

Gesperrter Benutzer
Eine plattformabhängige Lösung für Windows:
Du erzeugst einen Exe-Starter mit JeStart 2.0. Da kannst du die benötigte JRE vorgeben/verlangen.

Eine plattformunabhängige Lösung:
Du kannst du auch die Java-Version beim Starten abfragen. Wenn sie größer als 1.3.1 ist, kannst du eine JOptionPane mit einem Hinweis öffnen.
Das kann so aussehen:
Code:
double java_version = Double.parseDouble(System.getProperty("java.version").substring(0, 3));
if(java_version > 1.3) {
   JOptionPane.showMessageDialog(null,
   "Dieses Programm benötigt eine installierte Java-Version 1.3.x",
   "Startbedingung beachten",
   JOptionPane.ERROR_MESSAGE);
}
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben