Installation des JDK
Seit der Drucklegung hat sich beim JDK etwas getan. Oracle hat die Lizenzbedingungen im April 2019 geändert. Darum empfielt es sich, statt der Oracle-JDK die freie OpenJDK-Version zu verwenden. Wie diese eingerichtet wird, steht unter dem folgenden Link:Eclipse fragt nach Modulen
Wenn Sie ein neues Java-Projekt mit Java 9 oder neuer anlegen wollen, fragt Sie Eclipse, ob Sie mit Modulen arbeiten wollen. Am einfachsten ist es, Eclipse zu erklären, dass Sie kein Modul anlegen wollen. Klicken Sie also auf Don't create! Für den Anfänger ergibt sich dafür auch meist keine Notwendigkeit.Unter www.willemer.de/informatik/java/module.htm finden Sie weitere Details, falls Sie doch lieber mit Modulen arbeiten wollen.
Kapitel 9
Die Beispielmethode ggt wurde in Listing 9.33 nicht korrekt aus dem Kapitel 4 übernommen. Richtig muss es heißen:int ggt(int a, int b) { while (b > 0) { if (b > a) { int h = b; b = a; a = h; } a = a - b; } return a; }
Kapitel 10
Java definiert das Schlüsselwort protected etwas anders als C++. Da bin ich (zu meinem Trost aber auch andere Quellen) voll drauf reingefallen. Im Gegensatz zu C++ beschränkt Java protected nicht etwa auf die eigenen Erben, sondern lässt darüber hinaus auch den Zugriff durch das gesamte Package zu. Der Zugriff ist also noch weiter, als wenn Sie protected ganz weglassen. In der Informatik-Ecke finden Sie ausführlichere Informationen.Kapitel 15
In der Klasse Pferd in Listing 15.1 hat die Methode toString wurde statt dem Modifizierer public versehentlich void geschrieben, was natürlich unsinnig ist. Korrekt muss es heißen:class Pferd { // ... public String toString() { return name+": "+geburtsJahr; } }
Kapitel 23
In Listing 23.4 wird das Objekt eingabe nicht korrekt initialisiert, was später beim Schließen von eingabe zu einem Fehler führt. Die Zeilejava.util.Scanner eingabe;Muss um eine Initialisierung mit null ergänzt werden.
java.util.Scanner eingabe = null;In Listing 23.15 wird die Variable prop in der letzten Zeile props genannt. Das muss korrigiert werden.
for (Object obj : prop.keySet()) { String key = (String) obj; System.out.println(key + ": " + prop.getProperty(key)); }Auch in Listing 23.16 wird die Variable prop beim Aufruf von store plötzlich props genannt. Es muss natürlich heißen:
public static void schreibeProps(Properties prop, String name) { try { FileOutputStream fos = new FileOutputStream(name); prop.store(fos, ""); fos.close(); } catch (FileNotFoundException e) { } catch (IOException e) { } }
Kapitel 30
Chaos um Java 9, Eclipse und Glassfish
Stand Oktober 2018: Die Kombination aus den im Buch genannten Werkzeugen zur Erstellung von JEE-Anwendungen funktioniert nicht mit den aktuellen Versionen. In meiner Informatik-Ecke finden Sie eine Beschreibung für eine funktionierende Umgebung mit Glassfish.Alternative Tomcat
Als Application Server lässt sich Tomcat verwenden. Leider ist Tomcat von seinem Umfang eingeschränkt und stellt Servlets und JSPs zur Verfügung. Man kann aber auch einen REST-Server damit realisiseren, indem die Jersey-JAR-Dateien - wie im Buch beschrieben - in die WAR eingebettet werden.Alternative NetBeans
NetBeans ist eine IDE, die Sie von netbeans.org/downloads herunterladen können.Je nach der Variante von Netbeans, enthält sie bereits JEE und damit auch den Server Glassfish, der auch gleich im Paket steckt.