Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

(einfaches) Problem mit jar: Wie Java-Programm auf anderem Rechner

3 views
Skip to first unread message

Ernst Barner

unread,
Aug 21, 2003, 1:35:41 PM8/21/03
to
Hallo allerseits,
den ganzen Mittag versuche ich schon ein Java-Programm, das ich mit
Jbuilder5 erstellt habe, auf einen anderen Rechner zu bringen und dort
_ohne_ dass dort der Jbuilder5 installiert ist, zu starten (ablaufen
zu lassen). In einige Bücher und in die JBuilder5-Hilfe habe ich
reingeschaut, doch hat mir das auch nichts gebracht.

Auf meinem Rechner A, auf dem der Jbuilder5 installiert ist, habe ich
mit Hilfe des Jbuilders das Projekt mypr1 erstellt, das sich in dem
Ordner
C:\abfall\mypr1
befindet. Dort habe ich auch die zwei Java-Dateien
Hauptprogramm.java und
server.java erstellt.
----------------------------------------------------------
Der Quellcode von test1.java beginnt mit
package mypr1;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
//import com.borland.jbcl.layout.*;
import java.io.*;
import java.net.*;
import java.sql.*;

public class test1 extends JFrame {
// Spaltenanzahl der Tabelle "Klausur" beim Client (Prüfling) und
beim Server
final int spaltenAnzahlKlausur = 4;
....
----------------------------------------------------------

Der Jbuilder5 hat dann (automatisch) beim Compilieren meines Projekts
die folgenden Dateien
---> Hauptprogramm.class
---> test1$ProgrammEndeWanze.class
---> test1$serverAntwortThread.class
---> test1.class
unter dem Ordner
C:\abfall\mypr1\classes\mypr1
angelegt.
Unter diesen Ordner C:\abfall\mypr1\classes\mypr1 habe ich die
folgenden Dateien kopiert:
java.exe, jar.exe
Dann bin ich in die Eingabeauforderung von Win2000 gegangen und (mit
cd) ins Directory
C:\abfall\mypr1\classes\mypr1
gewechselt.
Dann habe ich folgendes gemacht :
jar -cf meinjar.jar *.class
(Hat ohne Fehlermeldung geklappt).
Dadurch wird also die Archivdatei meinjar.jar erzeugt, in der die
folgenden Dateien gepackt wurden:
---> Hauptprogramm.class
---> test1$ProgrammEndeWanze.class
---> test1$serverAntwortThread.class
---> test1.class

So, nun versuche ich - zu Testgründen - diese Archivdatei auszuführen
(den Bytecode zu starten). Dies habe ich gemacht mit:
java -jar meinjar.jar
Dann bekomme ich aber die _Fehlermeldung_:
Failed to load Main-Class manifest attribute from meinjar.jar

1) Warum kommt dieser Fehler ?
2) Wie macht man es richtig ?
3) Meiner Meinung funktioniert dies wie folgt:
Man muss _nur_ die Dateien mit der Endung des Projekts mypr1 mit der
Endung class, also
---> Hauptprogramm.class
---> test1$ProgrammEndeWanze.class
---> test1$serverAntwortThread.class
---> test1.class
in die Archivdatei meinjar.jar packen.
Auf dem anderen Rechner B muß dann nur das Programm java.exe und die
Java-Bibliotheken existieren, das den Bytecode dieser o.g. Dateien
mit der Endung class dann interpretiert und ausführt.
Aber irgendwie muss doch noch berücksichtigt werden, dass z.B. in der
Datei test1.java (bzw. test1.class) noch Bezug auf andere Klassen
genommen wird (siehe Anfang des Quellcode von test1):
---------------------------------
package mypr1;
---> import java.awt.*;
---> import java.awt.event.*;
---> import javax.swing.*;
//import com.borland.jbcl.layout.*;
---> import java.io.*;
---> import java.net.*;
---> import java.sql.*;
...
---------------------------------
Wenn sich z.B.in der Datei test1.java der Befehl
System.out.println(...) befindet, dann steht dieser doch in einer
Java-Bibliothek des Zielrechners (Rechner B) und wird dort gesucht,
wenn das Java-Programm auf Rechner B abläuft.
_Wie_ wird dies berücksichtigt ?
Die Umgebungsvariable classpath (was bedeutet diese Umgebungsvariable
genau) habe ich bei meinem Win2000 Betriebssystem nicht gefunden
(Arbeitsplatz --> rechte Maustaste --> Eigenschaften --> Erweitert -->
Umgebungsvariablen)

4) Wie kann man JVM bzw.JRE auf dem Rechner B installieren, wenn man
dort nicht den JBuilder5 installiert ?
Wird JVM bzw.JRE automatisch installiert, wenn man z.B. einen Browser
wie Netscape oder MS-InternetExplorer installiert ?
An was erkenne ich (wo befinden sich (und wie heissen) die zugehörigen
Dateien), dass sich sich JVM bzw.JRE auf einem Rechner befindet.

5) Was ist der Unterschied zwischen JVM (Java Virtual Machine) und JRE
(Java Runtime Enviroment) ?

mfg
Ernst


Ortwin Glück

unread,
Aug 21, 2003, 2:44:20 PM8/21/03
to
Ernst Barner wrote:
> Jbuilder5 erstellt habe, auf einen anderen Rechner zu bringen und dort
> _ohne_ dass dort der Jbuilder5 installiert ist, zu starten (ablaufen
> zu lassen).

Du benützt JBuilder und hast noch nicht mal die absoluten Basics
kapiert. Lies erst mal ein Buch.

Odi

Gelbmann Stephan

unread,
Aug 21, 2003, 3:07:59 PM8/21/03
to

>
> Du benützt JBuilder und hast noch nicht mal die absoluten Basics
> kapiert. Lies erst mal ein Buch.
>
> Odi
>
hast du ihm mit deiner Antword geholfen? oder hast du Stress mit deiner
Frau und hast dir geholfen!?
Gruß Stephan

Jochen Theodorou

unread,
Aug 21, 2003, 3:35:01 PM8/21/03
to
Ernst Barner schrieb:
[...]

> java -jar meinjar.jar
> Dann bekomme ich aber die _Fehlermeldung_:
> Failed to load Main-Class manifest attribute from meinjar.jar
>
> 1) Warum kommt dieser Fehler ?

Steht doch da ;) Deine Manifestdatei enthält kein Attribut Mainclass

> 2) Wie macht man es richtig ?

In einem Buch nachsehen was ein Manifest in Java ist. bzw. online
http://www.galileocomputing.de/openbook/javainsel2/java_250002.htm#Rxxjava_250002315JarArchivefurAppletsundApplikation

> 3) Meiner Meinung funktioniert dies wie folgt:
> Man muss _nur_ die Dateien mit der Endung des Projekts mypr1 mit der
> Endung class, also
> ---> Hauptprogramm.class
> ---> test1$ProgrammEndeWanze.class
> ---> test1$serverAntwortThread.class
> ---> test1.class
> in die Archivdatei meinjar.jar packen.

und wenn du in die JAr-Datei reinschaust (ist eine Zipdatei) wirst du
feststellen, dass da noch ein Manifest drin ist

> Auf dem anderen Rechner B muß dann nur das Programm java.exe und die
> Java-Bibliotheken existieren, das den Bytecode dieser o.g. Dateien
> mit der Endung class dann interpretiert und ausführt.

Du brauhst auch die zugehörigen Dlls, ein JRE tut es.

> Aber irgendwie muss doch noch berücksichtigt werden, dass z.B. in der
> Datei test1.java (bzw. test1.class) noch Bezug auf andere Klassen
> genommen wird (siehe Anfang des Quellcode von test1):
> ---------------------------------
> package mypr1;
> ---> import java.awt.*;
> ---> import java.awt.event.*;
> ---> import javax.swing.*;
> //import com.borland.jbcl.layout.*;
> ---> import java.io.*;
> ---> import java.net.*;
> ---> import java.sql.*;
> ...
> ---------------------------------

das sind aber alles Java-Bibliotheken, die standardmässig dabei sind.

> Wenn sich z.B.in der Datei test1.java der Befehl
> System.out.println(...) befindet, dann steht dieser doch in einer
> Java-Bibliothek des Zielrechners (Rechner B) und wird dort gesucht,
> wenn das Java-Programm auf Rechner B abläuft.
> _Wie_ wird dies berücksichtigt ?

Dein Programm wird dynmasisch zur Laufzeit gelinkt.

> Die Umgebungsvariable classpath (was bedeutet diese Umgebungsvariable
> genau) habe ich bei meinem Win2000 Betriebssystem nicht gefunden
> (Arbeitsplatz --> rechte Maustaste --> Eigenschaften --> Erweitert -->
> Umgebungsvariablen)

Lass von der Umgebungsvariable besser die Finger. Setzt die lieber
direkt bei Aufruf mit java -cp

> 4) Wie kann man JVM bzw.JRE auf dem Rechner B installieren, wenn man
> dort nicht den JBuilder5 installiert ?

JRE von Sun runterladen.

> Wird JVM bzw.JRE automatisch installiert, wenn man z.B. einen Browser
> wie Netscape oder MS-InternetExplorer installiert ?

Wie? M$ soll die Software seines Erzfeindes SUN automatisch installieren?
Die VM, die bei den Browsern dabei ist, ist in der Regel hoofnungslos
veraltet. Beim IE ist teilweise gar keiner Dabei. Ansonsten gibt es von
SUN ein Plugin. http://java.sun.com/getjava

> An was erkenne ich (wo befinden sich (und wie heissen) die zugehörigen
> Dateien), dass sich sich JVM bzw.JRE auf einem Rechner befindet.

gib java auf der Konsole ein, die Ausgabe sollte einen Hinweis geben können.

> 5) Was ist der Unterschied zwischen JVM (Java Virtual Machine) und JRE
> (Java Runtime Enviroment) ?

Die JVM führt den Bytcode aus. Das JRE enthält diese JVM und die
entsprechenden Bibliotheken. So gibt es auch ein JME, dass auch eine JVM
enthält, aber andere Bibliotheken.

Gruss theo

Ernst Barner

unread,
Aug 22, 2003, 7:09:28 AM8/22/03
to
Vielen Dank für den Tipp (stand leider nicht in meinem Buch).
Ich habe die entsprechenden Seiten sofort ausgedruckt und dann viel
getestet und ausprobiert.
In die Umgebungsvariable path habe ich den entsprechenden Pfad
aufgenommen, so dass ich von jedem Ordner (Homedirectory) aus die
Programme jar und java aufrufen kann.

Kurz zur Wiederholung:
Im Ordner
C:\abfall\mypr1
befindet sich das Projekt mypr1
und im Ordner C:\abfall\mypr1\classes\mypr1
befinden sich:
--> Hauptprogramm.class
--> test1$ProgrammEndeWanze.class
--> test1$serverAntwortThread.class
--> test1.class

Dann bin ich in die Eingabeauforderung von Win2000 gegangen und (mit
cd) ins Directory
C:\abfall\mypr1\classes\mypr1 gewechselt.
Dann habe ich folgendes gemacht :

1) Im Ordner C:\abfall\mypr1\classes\mypr1 eine Datei mf.txt (mit dem
Windows Texteditor (unter Zubehör) ) erstellt und dort den folgenden
Text eingetragen:
Main-Class: Hauptprogramm
2)
jar -cmf mf.txt myjar.jar *.class
(Hat ohne Fehlermeldung geklappt).
3) Danach habe ich versucht mein Java-Programm aufzurufen mit:
java -jar myjar.jar

Leider bekomme ich immer noch die Fehlermeldung:


"Failed to load Main-Class manifest attribute from meinjar.jar"

Ich vermute, weil der Eintrag "Main-Class" nicht in mf.txt gefunden
wird. Aber warum ? Was mache ich falsch ?

(Ich habe dann das Archiv myjar.jar mit den Schaltern tf wieder
entpackt und in die Datei manifest.mf die Zeile
Main-Class: Hauptprogramm
eingetragen. Trotzdem hat es dann auch nicht geklappt.

Weitere, für mich interessante, Frage:
In welchen Ordnern suchen die Programm java bzw. jar
Dateien, die als Parameter beim Aufruf von jar bzw. java angegeben
werden, wie z.B:
jar -cmf mf.txt myjar.jar *.class
Konkret: Wo (wie ist die Suchreihenfolge) sucht jar z.B.
mf.txt
und die Dateien mit der Endung class ?`

mfg
Ernst


------------------------

Michael Schierl

unread,
Aug 22, 2003, 2:14:58 PM8/22/03
to
Ernst Barner <car...@web.de> wrote:

>1) Im Ordner C:\abfall\mypr1\classes\mypr1 eine Datei mf.txt (mit dem
>Windows Texteditor (unter Zubehör) ) erstellt und dort den folgenden
>Text eingetragen:
>Main-Class: Hauptprogramm

Mach noch eine Ladung Leerzeilen hinten dran, der notepad.exe klaut
manchmal eine am Ende.


>2)
>jar -cmf mf.txt myjar.jar *.class
>(Hat ohne Fehlermeldung geklappt).

Tu mal noch ein v an die Parameterliste ran (verbose).

>3) Danach habe ich versucht mein Java-Programm aufzurufen mit:
>java -jar myjar.jar
>
>Leider bekomme ich immer noch die Fehlermeldung:
>"Failed to load Main-Class manifest attribute from meinjar.jar"
>Ich vermute, weil der Eintrag "Main-Class" nicht in mf.txt gefunden
>wird. Aber warum ? Was mache ich falsch ?
>
>(Ich habe dann das Archiv myjar.jar mit den Schaltern tf wieder
>entpackt und in die Datei manifest.mf die Zeile
>Main-Class: Hauptprogramm
>eingetragen. Trotzdem hat es dann auch nicht geklappt.

Stand die Zeile nicht da drin?

>Weitere, für mich interessante, Frage:
>In welchen Ordnern suchen die Programm java bzw. jar
>Dateien, die als Parameter beim Aufruf von jar bzw. java angegeben
>werden,

java sucht keine Dateien, nur Klassen, und die im Klassenpfad. javac
und jar suchen Dateien im aktuellen Verzeichnis. Die Dateinamen müssen
in der Reihenfolge der entsprechenden Buchstaben im Parameter
angegeben werden (also mf zuerst manifest dann Zieldatei, fm
umgekehrt), alle übrigen Dateinamen werden dann zum Reinpacken
benutzt.

Michael
--
"New" PGP Key! User ID: Michael Schierl <schi...@gmx.de>
Key ID: 0x58B48CDD Size: 2048 Created: 26.03.2002
Fingerprint: 68CE B807 E315 D14B 7461 5539 C90F 7CC8
http://home.arcor.de/mschierlm/mschierlm.asc

Ernst Barner

unread,
Aug 22, 2003, 3:52:13 PM8/22/03
to
>>(Ich habe dann das Archiv myjar.jar mit den Schaltern tf wieder
>>entpackt und in die Datei manifest.mf die Zeile
>>Main-Class: Hauptprogramm
>>eingetragen. Trotzdem hat es dann auch nicht geklappt.
>
>Stand die Zeile nicht da drin?
>
nein !
>
Da bei mir - egal was ich probiere - mit jar _nichts_ funktioniert,
"backe ich erst mal kleinere Brötchen":
Ich will nur von der Eingabeaufforderungsebene aus ein Java-Programm
mit java starten kann: (Ich habe etwas in der Java-Insel geschmökert):

Kurz zur Wiederholung:


Im Ordner
C:\abfall\mypr1

befindet sich das Projekt mypr1
und im Ordner C:\abfall\mypr1\classes\mypr1
befinden sich:
--> Hauptprogramm.class
--> test1$ProgrammEndeWanze.class
--> test1$serverAntwortThread.class
--> test1.class

Dann bin ich in die Eingabeauforderung von Win2000 gegangen und (mit
cd) ins Directory

C:\abfall\mypr1\classes gewechselt.


Dann habe ich folgendes gemacht :
1)

java -cp c:\abfall\mypr1\classes mypr1.Hauptprogramm
Begründung (ist diese korrekt ??):
Relativ von dem mit cp definierten Pfad
C:\abfall\mypr1\classes
wird in der Package mypr1 die Klasse Hauptprogramm gesucht.

Dieser o.g. Befehl erzeugt aber folgende Fehlermeldung:
Exception in thread "main" java.lang.ClassFormatError:
mypr1/Hauptprogramm (B
magic number)
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)

2)
java -cp c:\abfall\mypr1\classes mypr1.Hauptprogramm.class
Dies erzeugt aber folgende Fehlermeldung:
Exception in thread "main" java.lang.NoClassDefFoundError:
mypr1/Hauptprogramm/class

Nichts klappt (ich probiere schon einige Zeit alles mögliche aus). Ich
habe keine Ahnung, was ich falsch mache.

3)
Bemerkung
Mit
java -jar meinjar.jar Hauptprogramm(=Datei, in der sich main befindet)
müsste es doch auch ohne Manifest gehen, oder ?
(Funktioniert bei mir aber auch nicht)

mfg
Ernst


Michael Schierl

unread,
Aug 22, 2003, 6:42:55 PM8/22/03
to
Ernst Barner <car...@web.de> wrote:

>Kurz zur Wiederholung:
>Im Ordner
>C:\abfall\mypr1
>befindet sich das Projekt mypr1
>und im Ordner C:\abfall\mypr1\classes\mypr1
>befinden sich:
>--> Hauptprogramm.class
>--> test1$ProgrammEndeWanze.class
>--> test1$serverAntwortThread.class
>--> test1.class

java -version sagt was?

>Dann bin ich in die Eingabeauforderung von Win2000 gegangen und (mit
>cd) ins Directory
>C:\abfall\mypr1\classes gewechselt.
>Dann habe ich folgendes gemacht :
>1)
>java -cp c:\abfall\mypr1\classes mypr1.Hauptprogramm
>Begründung (ist diese korrekt ??):
>Relativ von dem mit cp definierten Pfad
>C:\abfall\mypr1\classes
>wird in der Package mypr1 die Klasse Hauptprogramm gesucht.

Genau. Das sollte (sofern Hauptprogramm.class eine korrekte
class-Datei ist) gehen.

>Dieser o.g. Befehl erzeugt aber folgende Fehlermeldung:
>Exception in thread "main" java.lang.ClassFormatError:
>mypr1/Hauptprogramm (B
>magic number)

Deine .class-Datei ist kaputt (oder für eine neuere Version kompiliert
als java.exe ist).

>2)
>java -cp c:\abfall\mypr1\classes mypr1.Hauptprogramm.class

Das .class ist zu viel (Java will (außer bei -cp) *keine* Dateinamen!)

>3)
>Bemerkung
>Mit
>java -jar meinjar.jar Hauptprogramm(=Datei, in der sich main befindet)
>müsste es doch auch ohne Manifest gehen, oder ?

Nein.

java -cp meinjar.jar Hauptprogramm

Dein Befehl liest den Programmnamen aus dem Manifest und übergibt ihm
in args[0] den String "Hauptprogramm".

Nico Seessle

unread,
Aug 23, 2003, 5:21:24 AM8/23/03
to
Ernst Barner wrote:


> Dann bin ich in der Einagebaufforderung von WinXP (HomeEdition) in den
> Ordner (mit cd)
> c:\myp\classes\myp
> gewechselt und habe eingegeben:
> java haupt
> (java -cp . myp.haupt funktioniert auch nicht)

Und was passiert bei

C:
cd c:\myp\classes
java -cp . myp.haupt

> Meine Vermutung ist, dass beim Aufruf von java das Programm java.exe
> mit dem Eintag
> package myp;
> nicht klar kommt.

Das könnte natürlich auch sein. Ziemlich blöd, das niemand bei Sun
diesen Fehler bis jetzt gefunden hat... Was haben die die ganzen letzten
Jahre nur getan? :-)

> Wenn ich in der Eingabeaufforderung aufrufe:
> java
> wird mir aber nicht angezeigt, dass ein Aufruf der Form
> java -jar meinjar.jar Xxxx
> möglich ist. An was liegt das ?

Mein JDK 1.3.1 (ja, eine leicht neuerer Version als deine, aber ich habe
nichts älteres) sagt:

"Usage: java [-options] class [args...]
(to execute a class)
or java -jar [-options] jarfile [args...]
(to execute a jar file)
[...]"

Das steht bei dir nicht da? Nur um jetzt auszuschliessen das du
vielleicht nur den unteren Teil "options include" gelesen hast...

Nico

Ernst Barner

unread,
Aug 24, 2003, 7:40:04 AM8/24/03
to
>
>Und was passiert bei
>
>C:
>cd c:\myp\classes
>java -cp . myp.haupt
>
Super, das wars.
Jetzt funktioniert alles: auch jar
Tausend Dank an alle, die mir geholfen haben.
Ich glaube jetzt das Schema verstanden zu haben

>
>> Meine Vermutung ist, dass beim Aufruf von java das Programm java.exe
>> mit dem Eintag
>> package myp;
>> nicht klar kommt.
>
>Das könnte natürlich auch sein. Ziemlich blöd, das niemand bei Sun
>diesen Fehler bis jetzt gefunden hat... Was haben die die ganzen letzten
>Jahre nur getan? :-)
>
Ich wollte damit nicht sagen, dass das Programm java einen Fehler hat,
sondern, dass ich tagelang zu blöde war, das Programm korrekt (mit
korrekten Parametern) aufzurufen.
>
Eine Frage noch:
Bis jetzt habe ich jar und java nur an _einem_ Rechner (Rechner A)
getestet.
Jetzt will ich eine jar Datei (myjar.jar) auf einen fremden Rechner B
kopieren und dort aufrufen.
Wenn ich auf dem fremden Rechner B den JBuilder installiere, ist doch
automatisch damit auch eine JRE installiert, oder ?
Auf meinem Rechner A ist der JBuilder installiert (und damit JRE
1.3.0_02).
Auf meinem Fremdrechner B will ich von CD eine JRE - ich glaube
Version 1.4 installieren (also keinen JBuilder).
Läuft dann das auf meinem Rechner A erstellte myjar.jar Programm auf
Rechner B, oder gibt es Probleme wegen der unterschiedlichen
Versionen ?


mfg
Ernst

Jochen Theodorou

unread,
Aug 24, 2003, 12:58:59 PM8/24/03
to
Sorry hab eine Weile nciht mitgelesen.

Ernst Barner schrieb:
>>Und was passiert bei
>>
[...]


> Ich glaube jetzt das Schema verstanden zu haben

Nur um sicher zu gehen hier eine Langversion:
In Java gibt es ClassLoader. Deren Aufgabe ist es Klassen zu laden (wr
jetzt nicht sehr schwer zu eraten). Wenn du java.exe startest und ihm
nichts gross anderes sagst erwartet er den Bytecode als .class-Dateien
im Dateisystem. Allerdings nicht einfach irgendwo, der Packetname gehört
zum KLassennamen dazu. Hast du eine Klasse haupt im Packet mypkg, so
wird erwartet, dass ein Packet mypkg existiert, indem eine Datei
haupt.class steht. Während der direkte Klassennamen (haupt) auf eine
Datei verweist (haupt.class) verweist der Packetname (mypkg) auf ein
Verzeichnis. Der volle Name deiner Klasse wäre also mypkg.haupt. Das
wird im Dateisystem auf mypkg\haupt.class gemappt.
Soweit klar?
Bei Jardateien ist das nochmal ein bischen anders, es wird ein anderer
KLassloader verwendet. Dieser erwartet eine Jardatei, indem quasi das
Dateisystem (relativ) abgebildet ist. Die Klasee mypkg.haupt ist jetzt
also im Jar im Verzeichnis mapkg in der Datei haupt.class. Am Namen der
Klasse ändert sich dabei nichts. Der korrekte Eintrag für deine
Manifestdatei wäre also:
Main-Class: mypkg.haupt
Alles klar?

[...]


> Auf meinem Fremdrechner B will ich von CD eine JRE - ich glaube
> Version 1.4 installieren (also keinen JBuilder).
> Läuft dann das auf meinem Rechner A erstellte myjar.jar Programm auf
> Rechner B, oder gibt es Probleme wegen der unterschiedlichen
> Versionen ?

Die API ändert sich von Version zu Version etwas. mit jeder
Grossversionnummer (1.2,1.3,1.4) kommen neue Features und grössere
Änderungen hinzu, die auch einschliessen, dass alte Sachen teilweise
nicht mehr unterstützt werden. Am sichersten wäre es, ein jdk1.4 zu
installieren und einfach mal zu kompilieren. Wenn dann der Compiler
irgendwas von depreceated fasselt, dann hast du etwas verwendet, das
nicht mehr oder bald nicht mehr unterstützt werden soll. Natürlich ist
der Compiler auch so nett dir zu sagen wwas genau nicht mehr geht.

Gruss theo

0 new messages