Frage zu Applet und noch was anderes*g*
Dr.Ma-Busen
- java
0 MatzeA0 Dominik0 Lemmy Danger0 Dr.Ma-Busen
Hallo!
Wenn ich folgenden Java Code Kompiliere und ausführe. Unter welcher Java Version bzw. ab welcher Java Version sollte der einfache Java Code laufen??
Der Code:
-----------------
import java.awt.*;
import java.applet.Applet;
public class Test extends Applet{
public void paint(Graphics g){
g.drawString("Hallo", 20, 20);
}
}
------------------
Weil wenn ich den Kompiliere (j2sdk1.4.1_01) dann Funktioniert der logischerweise, aber wenn ich versuch den auf einen Rechner zu starten auf den JVM installiert ist (JRE 1.3.1) dann geht das nicht, andere Applets (aus den netz) gehen.
Wo dran liegt das? Läuft der Code nur ab 1.4? Oder kann es sein das ein Applet nur ab der Java Version läuft mit der es Kompiliert wurde, auch wenn der Code Abwärtskompatibel ist (hoffe mal der ist das).
Noch ne frage.
Gibt es ein Programm mit den man ein Java Programm in eine EXE- Datei wandeln kann und das Programm dann auch auf Rechner laufen zu lassen auf den kein Java installiert ist?.
MfG
Dr.Ma-Busen
Hi,
Weil wenn ich den Kompiliere (j2sdk1.4.1_01) dann Funktioniert der logischerweise, aber wenn ich versuch den auf einen Rechner zu starten auf den JVM installiert ist (JRE 1.3.1) dann geht das nicht, andere Applets (aus den netz) gehen.
Wo dran liegt das? Läuft der Code nur ab 1.4? Oder kann es sein das ein Applet nur ab der Java Version läuft mit der es Kompiliert wurde, auch wenn der Code Abwärtskompatibel ist (hoffe mal der ist das).
Der umgekehrte weg geht im Regelfall ganz gut.
Du kompilierst mit JDK 1.2.2 und lässt es auf einer JRE 1.4.x laufen.
Jedoch wenn du mit einer 1.4.x kompilierst musst du mit Probleme Rechnen, dass eine 1.3.1 JRE damit nicht klar kommt.
Das Problem hierbei liegt jedoch weniger am Code als mehr am generierten Bytecode mit dem die JRE 1.3.1 nicht`s anfangen kann.
Gruss Matze
Jedoch wenn du mit einer 1.4.x kompilierst musst du mit Probleme Rechnen, dass eine 1.3.1 JRE damit nicht klar kommt.
nein, da per default 1.2 kompatibler Code erstellt wird. Nur wenn man explizit dass Target ändert (oder neue 1.4er Funktionen benutzt) bekommt man Probleme.
Was stimmt, ist dass mit 1.4 kompilierte Class Files nicht auf 1.1 laufen. Dies betrifft die Microsoft-Steinzeit-VM.
Dominik
?!?
Also ich baue oper default und wenn ich 1.2 kompatiblen code haben möchte, dann muss ich dies dem compiler sagen.
Gruss Matze
Ich habe gerade noch mal auf der Sun Seite nachgesehen, 1.2 ist definitiv der Default Wert bei Java 1.4 Compilern.
Benutzt du evtl. eine Entwicklungsumgebung, die einen anderen Wert voreinstellt?
Dominik
Sorry,
ant build dort ist der default bei uns auf 1.4 gesetzt.
Gruss Matze
Hallo,
das simple Beispiel sollte eigentlich ab Java 1.1 funktionieren.
In der Sun Doku steht dass der 1.4er Compiler per Default class Files für Java 1.2 erstellt, d.h. die laufen nicht mit 1.1!
Vermutlich wird auf dem Computer wo es nicht läuft die uralte Microsoft Java VM benutzt; diese kann nur Java 1.1.
Am besten ist es, einfach das aktuelle 1.4.2 von Sun dort zu installieren, auch weil Microsoft seine Java Version eingestellt hat.
Alternativ kannst du es mal mit "javac -target 1.1 meineKlasse.java" kompilieren, dann sollte es auch auf 1.1 laufen.
Dominik
Guude!
Gibt es ein Programm mit den man ein Java Programm in eine EXE- Datei wandeln kann und das Programm dann auch auf Rechner laufen zu lassen auf den kein Java installiert ist?.
Ja, JET von Excelsior kann sowas. Dieses Programm übersetzt eine beliebige Runtime Environment in nativen Code und Dein Programm ebenso. Beides zusammen wird dann in eine EXE verpackt. Was der Spass kostet? - Naja, so ein paar Tausender musst Du da schon hinblättern...
Wenn es Dir nur um die reine EXE-Datei geht, also ein Windows-Executable, welches die JRE startet und mit deren Hilfe ein Jar-Archiv startet, findest Du auf http://www.olison.com/sites/exe.php ein paar Hinweise.
LG ausm Hesseland
Lemmy
Jo, Danke erstemal für die Antworten
MfG
Dr. Ma-Busen