|
Jonelo's Java FAQ
for
english click here
Freie, Plattformunabhängige Open Source Software - geben Sie
sich nicht mit weniger zufrieden!
Haben Sie Fragen zu meinen Programmen? Hier finden Sie evtl. eine Antwort
auf Ihre Frage. Falls nicht, schreiben Sie mir bitte an: jonelo@jonelo.de
Was ist Plattformunabhängigkeit?
Ein korrekt entwickeltes Java-Programm läuft auf jedem
Computer, dem eine Java Laufzeitumgebung zur Verfügung steht (Windows,
Linux, Mac OS X, Solaris, BSD, etc. - siehe unten).
Sollten Sie Hardware oder Betriebssytem einmal wechseln wollen oder müssen
- mit platformunabhängiger Software steht Ihnen diese Option zur Verfügung
- Ihre Java Programme nehmen Sie ohne weitere Anpassungen mit. D. h. ohne
das Programm neu compilieren zu müssen, Ihre Java Programme fühlen
sich auf jedem Computer wohl und werden Ihren Dienst auch in einer neuen
Umgebung wie gewohnt verrichten. Die meisten meiner angebotenen Programme
sind Java-Programme.
Was ist Open Source?
Programme, deren Quellcode frei zugänglich ist bezeichnet
man als Open Source. Auch wenn Sie keine Programmiersprache beherrschen,
sollten Sie wissen, welche Vorteile Open Source Software gegenüber
anderer Software Ihnen als Verbraucher bietet. Da jeder in den Quellcode
von Open Source Software schauen kann, geht das Wissen, wie ein Programm
ein Problem gelöst hat nicht verloren und das Rad muß auch nicht
neu erfunden werden. Viele Augen können in den Quellcode schauen und
sicherstellen, daß die Software nichts verbotenes tut. Sollte die
Software in neuen Umgebungen plötzlich nicht mehr laufen, kann sie
dank vorhandenem Quellcode angepasst werden (durch jemanden, der z. B.
entsprechende Entwicklerkenntnisse mitbringt). Diese Garantien können
Programme, deren Source Code unter Verschluß gehalten wird, nicht
geben. In Closed Source Software ist das alles schlicht weg nicht möglich,
da niemand eigentlich genau weis, was in solchen Programm genau gemacht
wird. Das gilt übrigens nicht nur für Software auf Anwendungsebene,
sondern auch für Ihr Betriebssystem.
Eine gute Übersicht zu Open Source gibt das Bundesamt
für Sicherheit in der Informationstechnik (BSI). Die Bundeszentrale
für politische Bildung (bpb) hat ein auch Dossier
zu Open Source
veröffentlicht, das die Frage was Open Source ist, neutral und umfassend
beantwortet. Alle meine angebotenen Java Programme sind Open Source
Software.
Was ist Free Software?
Free Software hat mit dem Preis nichts zu tun - obwohl alle
meine Programme kostenlos zur Verfügung gestellt werden. Free Software
ist ein Begriff der von der Free
Software Foundation geprägt wurde. Free Software räumt dem
Anwender explizit bestimmte
Rechte ein. Diese sowohl verbraucherfreundlichen als auch entwicklerfreundlichen
Rechte für die Software werden in einer Lizenz des Rechteinhabers
festgelegt. Freeware ist nicht Free Software! Free Software muß z.
B. auf jeden Fall Open Source sein, damit jeder verstehen kann, wie ein
Programm funktioniert (siehe oben). Free Software
gewährt stets die Freiheit, das Programm für jeden Zweck benutzen
zu können. Free Software muß auch explizit das Vervielfältigen
der Software ohne Einschränkungen erlauben. Alle meine angebotenen
Java Progamme sind Free Software.
Was muss ich herunterladen - das JRE oder
das JDK?
Das JRE (Java Laufzeitumgebung) erlaubt es, jede Java Applikation
auszuführen. Das JRE ist wesentlich kleiner als das JDK (Java Development
Kit). Wenn Sie jedoch eines meiner Programme recompilieren wollen oder
selbst mit Java entwickeln wollen, dann benötigen Sie das JDK, ansonsten
reicht das JRE völlig aus.
Wo bekomme ich das JRE oder JDK her?
Folgende Liste führt Sie zu den Herstellern von JRE und
JDK entsprechend Ihres Betriebssystems (diese Liste erhebt keinen Anspruch
auf Vollständigkeit):
Wo bekomme ich Hilfe zum NumericalChameleon?
Hier gibt es häufige Fragen
und Antworten zum NumericalChameleon
Wo bekomme ich Hilfe zu Jacksum?
Hier gibt es häufige
Fragen und Antworten zu Jacksum
Wo bekomme ich Hilfe zu BigAl?
Hier gibt es häufige
Fragen und Antworten zu BigAl
Wenn ich auf ein .jar doppelt drauf klicke, startet
die Java Applikation nicht. Was ist das Problem?
Erfahrungsgemäß tritt diese Störung nur unter
Windows auf. Dafür gibt es mehrere Gründe.
Ein Programm hat den Dateityp .jar gestohlen
Wenn Sie Java das erste Mal installiert haben, wird der Dateityp ".jar"
mit javaw.exe richtig verbunden. "jar" ist eine Abkürzung für
"Java Archiv" und javaw.exe ist das richtige Programm, um ein .jar unter
Windows per Doppelklick ausführen zu können. Jedoch können
Programme unter Windows bereits vergebene Dateitypen ohne Rückfrage
stehlen. Viele Packprogramme machen das gerne, weil ein .jar im zip-Format
gespeichert wird. Wenn Sie nun auf ein .jar doppelklicken, öffnet
Ihr Packprogramm die Datei und sie wird nicht mehr von javaw ausgeführt.
Ihr Packprogramm ignoriert die Meta-Information, die in einer .jar-Datei
abgelegt wird.
Lösung: Sie können die Störung bequem mit dem
Programm jarfix beheben.
Das Programm hat kein GUI
Das Programm, daß Sie starten möchten, stellt überhaupt
kein graphisches user interface (GUI) zur Verfügung. Zum Beispiel
möchten die Programme namens BigAl und Jacksum auf der Kommandozeile
ausgeführt werden. In diesem Fall startet auch keine graphische Oberfläche.
Lösung: Öffnen Sie ein neues Terminal (in der Windows-Welt
ist es als "Eingabeaufforderung" bekannt) und geben die Kommandos ein,
die Sie in der liesmich.txt finden.
Failed to load Main-Class manifest attribute
Das ist in Ordnung, wenn die jar-Datei eine Programmbibliothek repräsentiert
und kein Programm. Natürlich läßt sich in diesem Fall auch
kein Programm starten.
Lösung: Es ist sinnlos, Programmbibliotheken starten zu
wollen.
Ein Fehler in Java 1.3
Wenn Sie JRE oder SDK < 1.4 under Windows verwenden und das jar
in einen Unterverzeichnis gespeichert ist, das ein Leerzeichen enthält
(z. B. "Program Files"), dann wird die Java Applikation auch nicht starten.
Dies ist ein kleiner Bug und ist im JRE/SDK 1.4+ behoben.
Lösung: Verwenden Sie Java 1.4 oder höher. Sie können
die Störung aber auch bequem mit dem Programm jarfix
beheben.
Die Java VM stürzt ab
Die Applikation stürtz ab, weil evtl. die Java VM abstürtzt.
Lesen Sie bitte weiter bei "Meine Applikation stürzt
ab, was kann ich tun?"
Meine Applikation stürzt ab, was kann
ich tun?
Wenn eine Java-Applikation abstürzt, heißt das meistens,
dass die Java VM abstürzt. Das kann bedeuten, dass die Ursache des
Absturzes ein Fehler in der Java-Applikation oder aber ein Fehler in der
Java VM selbst ist.
Wenn die Applikation selbst einen Absturz verursacht, ist meist fehlerhaft
programmiertes JNI im Spiel (also proprietäre Programmelemente). Meine
Programme benutzen jedoch kein JNI, sie sind 100 % Java. Wenn also eine
meiner Applikationen die Java VM zum Absturz bringt, handelt es sich höchstwahrscheinlich
um einen Fehler in der Java VM.
Für den Fall, daß es sich um die Java VM selbst handelt,
reicht es meist aus, das alte Java komplett zu entfernen und auf die aktuellste
Java VM upzugraden.
Ein Absturz unter Windows kann erfolgen, wenn alte, meist fehlerhafte
Windows-Schriftarten gefunden werden. Dieser Fehler tritt aber nur bei
sehr alten Windows-Systemen auf. Der Bug# 4482430
ist im Java Runtime Environment 5 und neuer behoben. Wenn Sie eine ältere
Version nutzen, können Sie die Störung aber auch wie folgt umgehen.
Wenn Sie einen solchen Absturz haben, wird eine Log-Datei erstellt (üblicherweise
mit dem Namenmuster hs_err_pid*.log), die eine ähnliche wie die folgende
Fehlermeldung enthält:
An unexpected exception has been
detected in native code outside the VM.
Unexpected Signal : EXCEPTION_ACCESS_VIOLATION
occurred at PC=0x6D1C36EF
Function=[Unknown.]
Library=(N/A)
NOTE: We are unable to locate the
function name symbol for the error
just occurred. Please refer to release documentation for possible
reason and solutions.
Current Java thread:
at sun.awt.font.NativeFontWrapper.registerFonts(Native
Method)
...
In diesem Fall, kopieren Sie die vier Standard-Schriftdateien "arial.ttf",
"cour.ttf", "times.ttf" und "wingding.ttf" von Ihrem Windows
Schriftarten-Verzeichnis in ein Verzeichnis Ihrer Wahl (z. B. c:\fonts)
und setzen eine Umgebungsvariable mit
set JAVA_FONTS=c:\fonts
in der MS-DOS-Eingabeaufforderung. Anschliessend starten Sie die Java-Applikation
auf der Kommandozeile (und zwar im gleichen Fenster!). Üblicherweise
starten Sie mit
java -jar programm.jar
Die Applikation sollte nun nicht mehr abstürzen. Ein positiver
Nebeneffekt kann sein, dass die Applikation nun sogar schneller startet.
Alternativ dazu können Sie die fehlerhafte Windows Schriftart auch
ausfindig machen, indem Sie folgende Zeile
set JAVA2D_DEBUGFONTS=1
in der DOS-Eingabeaufforderung eingeben. Anschliessend die Applikation
auf der Kommandozeile neu starten. Sie erhalten eine Log-Datei über
die Aktivitäten bzgl. der Schriftarten. Der letzte Font, der vor dem
Absturz eingelesen wurde, ist üblicherweise die fehlerhafte Schriftdatei.
Entfernen Sie diese und führen die Schritte solange durch, bis keine
fehlerhaften Dateien mehr gefunden werden.
|
|