Michael Kipp's Blog

Tag: Java

Java: Umstieg auf OpenJDK

Leider gab es in letzter Zeit Entwicklungen, die es erfordern, dass alle, die mit Java (und NetBeans) arbeiten (oder es unterrichten) sich überlegen müssen, ob sie nicht umsteigen auf OpenJDK und auf IntelliJ.

Die eine Entwicklung ist, dass Oracle, die Firma, die Java bislang entwickelt hat, beschlossen hat, Java ab Januar 2019 zu kommerzialisieren. Das heißt: Ab sofort (Java 8) gibt es Updates nur für Entwickler*innen, die eine Lizenz erwerben. Das ist ein drastischer Einschnitt in der Geschichte der Sprache Java. (Siehe Artikel auf Heise, Artikel in Computerwoche und Artikel auf Aspera)

Zum Glück gibt es OpenJDK, eine open-source-Variante von Java. Diese Variante wurde 2007 von der Firma Sun Microsystems herausgegeben und wird aktiv von der Community weiterentwickelt.

Die zweite Entwicklung betrifft die Entwicklungsumgebung NetBeans. Oracle will NetBeans “loswerden” und zu Apache abgeben (siehe Artikel auf ZDNET und Artikel auf Heise). Derzeit befinden wir uns in einer Übergangsphase, so dass die Installation der “richtigen” NetBeans-Version umständlich ist.

Was tun?

Aufgrund der Entwicklungen habe ich zwei Empfehlungen:

  1. auf OpenJDK umsteigen (leider muss JavaFX separat eingebunden werden)
  2. die Entwicklungsumgebung IntelliJ IDEA verwenden (die community edition CE ist kostenlos)

Zu beiden Empfehlungen möchte ich ein paar Tipps geben. IntelliJ finden Sie hier: https://www.jetbrains.com/idea

OpenJDK

OpenJDK kann man hier runterladen (derzeit Version 11): http://jdk.java.net/11

Auf einem Mac muss man die Datei auspacken und das resultierende Verzeichnis an diese Stelle schieben:

/Library/Java/JavaVirtualMachines

Auf einer Konsole können Sie mit “java – -version” testen, ob das JDK gefunden wird.

Wenn Sie in IntelliJ ein neues Java-Projekt anlegen, können Sie unter In File > Project Structure das neue JDK angeben und zwar unter Platform Settings > SDKs. Das müssen Sie nur einmalig durchführen.

JavaFX

JavaFX ist die aktuellste GUI-Technologie von Java. Wer JavaFX lernen möchte, kann sich in meinem Skript unter http://michaelkipp.de/processing die Kapitel GUI 1-3 anschauen.

JavaFX ist nicht in OpenJDK enthalten! Also muss man JavaFX separat runterladen: https://gluonhq.com/products/javafx

Das entsprechende Verzeichnis (z.B. derzeit javafx-sdk-11.0.2) kann man dann irgendwo ablegen. Zum Beispiel auf einem Mac in eigenen Benutzerverzeichnis unter: Library/javafx-sdk-11.0.2

Will man jetzt in IntelliJ JavaFX verwenden, macht man einmalig folgendes:

  1. In den Preferences wählt man: Appearance & Behavior > Path Variables
  2. Dort fügt man einen neuen Pfad hinzu (Pluszeichen unten). Diesen nennt man PATH_TO_FX und setzt ihn auf den Pfad, wo man das Verzeichnis oben hingetan hat und fügt noch ein /lib hinzu. Zum Beispiel: /Users/kipp/Library/javafx-sdk-11.0.2/lib

Legt man jetzt ein neues JavaFX-Projekt an, muss man immer folgendes tun:

  1. In File > Project Structure unter Libraries fügt man das obige /lib Verzeichnis hinzu
  2. Bei jeder Run-Konfiguration (siehe Run -> Edit Configurations…) fügt man als VM option folgendes ein: –module-path ${PATH_TO_FX} –add-modules=javafx.controls,javafx.fxml

Leider ist das alles etwas umständlich, aber es besteht die Hoffnung, dass JavaFX demnächst zusammen mit OpenJDK ausgeliefert wird und dass IntelliJ die Nutzung etwas vereinfacht.

Java lernen

Habe heute das Java Blog Buch entdeckt, das sich gut zum Nachschlagen eignet. Mein Java-Tutor Jonas schwört auf den Java-Videokurs mit Lehr/Lern-Blöcken und Übungsaufgaben, ist allerdings kostenpflichtig.

Desweiteren gibt es ein neues BlueJ-Buch aus dem Galileo-Verlag: Einführung in Java mit BlueJ von Florian Siebler. Unter dem Link finden Sie auch Beispielkapitel zum Runterladen.

Das englische Original-Buch “Objects First with Java” von David J. Barnes und Michael Kölling wird noch dieses Jahr in Neuauflage erscheinen (5. Auflage). Hier die Ankündigung.

Greenfoot 2.1.2

Soeben wurde Greenfoot 2.1.2 veröffentlicht. Zu finden auf der Downloadseite.

Continue reading

Copyright © 2019 Michael Kipp's Blog

Theme by Anders NorenUp ↑