Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Alle (halbe) Jahre wieder kommt das neue Java-Release!

0ddb848dbb19393d2cec7d295b7cf066?s=47 Martin Lehmann
December 12, 2018
52

Alle (halbe) Jahre wieder kommt das neue Java-Release!

Vortrag Martin Lehmann, Kristine Schaal: "Alle (halbe) Jahre wieder kommt das neue Java-Release".
IT-Tage 2018, 12. Dezember 2018

https://www.ittage.informatik-aktuell.de/programm/2018/alle-halbe-jahre-wieder-kommt-das-neue-java-release/

Die Java-Release-Politik hat sich geändert: Alle 6 Monate kommt nun ein neues Release heraus – im September 2017 das JDK9, im März 2018 das JDK10 und im September 2018 das JDK 11. Und nächstes Ostern gibt es schon JDK12! Wer kommt da noch mit? Was ist konkret alles an Migration zu tun, insbesondere mit Blick auf die große Änderung des Jigsaw-Modulsystems. Wir beschreiben bekannte Schwierigkeiten, zeigen, welche Fallen drohen und erklären Migrationspfade zu Java 9, 10, 11 ff auf – v. a. hinsichtlich einer (mehr oder weniger aktiven) Nutzung des Modulsystems Jigsaw.

0ddb848dbb19393d2cec7d295b7cf066?s=128

Martin Lehmann

December 12, 2018
Tweet

More Decks by Martin Lehmann

Transcript

  1. 10. – 13.12.2018 Frankfurt am Main #ittage Martin Lehmann, Kristine

    Schaal Alle (halbe) Jahre wieder kommt das neue Java-Release! 10. – 13.12.2018 Frankfurt am Main #ittage
  2. Copyright © Accso – Accelerated Solutions GmbH 2 v.3 v.3.18

    Alle (halbe) Jahre wieder kommt das neue Java-Release! MARTIN LEHMANN, DR. KRISTINE SCHAAL @mrtnlhmnn @krschaal IT-Tage 2018, Dezember 2018
  3. Copyright © Accso – Accelerated Solutions GmbH 3 Die Java-Release-Politik

    hat sich geändert: Alle 6 Monate kommt nun ein neues Release heraus – im September 2017 das JDK9, im März 2018 das JDK10 und im September 2018 das JDK 11. Und nächstes Ostern gibt es schon JDK12! Wer kommt da noch mit? Was ist konkret alles an Migration zu tun, insbesondere mit Blick auf die große Änderung des Jigsaw-Modulsystems? Wir beschreiben bekannte Schwierigkeiten, zeigen, welche Fallen drohen und erklären Migrationspfade zu Java 9, 10, 11 ff auf – v. a. hinsichtlich einer (mehr oder weniger aktiven) Nutzung des Modulsystems Jigsaw. Abstract – IT-Tage 2018 https://www.ittage.informatik-aktuell.de/programm/2018/alle-halbe-jahre-wieder-kommt-das-neue-java-release/
  4. Copyright © Accso – Accelerated Solutions GmbH 4 Martin Lehmann,

    Accso - Accelerated Solutions GmbH Cheftechnologe Martin Lehmann ist Diplom-Informatiker und arbeitet als Cheftechnologe und Softwarearchitekt bei der Accso - Accelerated Solutions GmbH. Seit Ende der 90er-Jahre wirkt er als Software-entwickler und -architekt in der Softwareentwicklung in diversen Projekten der Individual-entwicklung für Kunden verschiedener Branchen. Seit den Zeiten von Java 1.0 beschäftigt er sich mit Java als Programmiersprache und als Ökosystem. martin.lehmann@accso.de @mrtnlhmnn www.xing.com/profile/Martin_Lehmann3 Kristine Schaal, Accso - Accelerated Solutions GmbH Softwarearchitektin Dr. Kristine Schaal ist als Softwarearchitektin bei der Accso - Accelerated Solutions GmbH tätig. Sie arbeitet seit 20 Jahren in der Softwareentwicklung und ist in Projekten der Individual- entwicklung für Kunden verschiedener Branchen unterwegs, technisch überwiegend im Java- Umfeld. kristine.schaal@accso.de @krschaal www.xing.com/profile/Kristine_Schaal
  5. Copyright © Accso – Accelerated Solutions GmbH 5 Themen und

    Aufwand bei der Migration Java 8  11 Welche Entscheidungskriterien muss ich beachten? Was ändert sich alles? Agenda
  6. Copyright © Accso – Accelerated Solutions GmbH 6 Die Treiber

    im Überblick Support-Modell & Kosten Kürzerer Support Nicht mehr $free Erste Auswirkungen bereits im Januar 2019! Release-Train Getakteter und deutlich beschleunigter Release- Zyklus für Java Neu: alle 6 Monate Abwärtskompatibilität? Schwergewichtige technische Änderungen mit Java 9  Updates des Technologiestacks Features entfallen mit Java 11 Oracle JDK vs. OpenJDK Java-Builds von Oracle und anderen Support für OpenJDK von anderen einkaufbar
  7. Copyright © Accso – Accelerated Solutions GmbH 7 Themen und

    Aufwand bei der Migration Java 8  11 Welche Entscheidungskriterien muss ich beachten? Was ändert sich alles? Agenda
  8. Copyright © Accso – Accelerated Solutions GmbH 8 Java-Releases im

    Überblick Java 6: Dezember 2006 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2020 Java 9 Java 10 Java 11 Java 12 Java 7: Juli 2011 Java 8: März 2014 Java 13 Java 14 2019 Java 15
  9. Copyright © Accso – Accelerated Solutions GmbH 9 Was als

    Bummelzug begann … Java 6: Dezember 2006 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2020 Java 9 Java 10 Java 11 Java 12 Java 7: Juli 2011 Java 8: März 2014 Java 13 Java 14 2019 Java 15 Angestrebter Release-Zyklus war ursprünglich alle 2 Jahre. Groß-Features wie Jigsaw führten zu großen Verzögerungen.
  10. Copyright © Accso – Accelerated Solutions GmbH 10 … fährt

    nun als Java-Release-Train alle 6 Monate ab. Java 6: Dezember 2006 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2020 Java 9 Java 10 Java 11 Java 12 Java 7: Juli 2011 Java 8: März 2014 Java 13 Java 14 2019 Java 15 Neu ab Java 9: Strenge zeitliche Taktung mit Releases alle 6 Monate, jeweils im März und September, kein Warten mehr auf Features.
  11. Copyright © Accso – Accelerated Solutions GmbH 11 Außerdem ändert

    sich der Support für Oracle JDK. Java 6: Dezember 2006 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2020 Java 9 Java 10 Java 11 Java 12 Java 7: Juli 2011 Java 8: März 2014 Java 13 Java 14 2019 Java 15
  12. Copyright © Accso – Accelerated Solutions GmbH 12 Außerdem ändert

    sich der Support für Oracle JDK. Java 6: Dezember 2006 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2020 Java 9 Java 10 Java 11 Java 12 Java 7: Juli 2011 Java 8: März 2014 Java 13 Java 14 2019 Java 15 Alle drei Jahre wird ein Release zum sog. LTS-Release (Long Term Support): Java 8, 11, 17, 23, …
  13. Copyright © Accso – Accelerated Solutions GmbH 13 Java 9

    Java 8 (LTS) – „free support“ bis Januar 2019 Das (neue) Support-Modell für Oracle JDK 2014 2015 2016 2017 2018 2019 2020 „commercial support“ bis 2022 Java 10 Java 11 „commercial support“ bis 2023 Java 12 Java 13 Nicht mehr $free in Produktion nutzbar! Gilt auch für andere Programmier- sprachen auf der JVM (Kotlin, Scala etc.) { . . .
  14. Copyright © Accso – Accelerated Solutions GmbH 14 https://www.oracle.com/technetwork/java/eol-135779.html Das

    (neue) Support-Modell für Oracle JDK
  15. Copyright © Accso – Accelerated Solutions GmbH 15 https://www.oracle.com/technetwork/java/eol-135779.html Unterschied

    „commercial user“ und „personal user“ (mit längerem $free Support für Java 8) Das (neue) Support-Modell für Oracle JDK
  16. Copyright © Accso – Accelerated Solutions GmbH 16 https://www.oracle.com/technetwork/java/eol-135779.html $free

    Support für Java 8 (Oracle JDK) endet im Januar 2019. Kostenpflichtiger Support längerfristig möglich (je nach Support-Level). Das (neue) Support-Modell für Oracle JDK
  17. Copyright © Accso – Accelerated Solutions GmbH 17 https://www.oracle.com/technetwork/java/eol-135779.html Kein

    Support für Java 9 und 10 – bereits mit Java 11 beendet. Das (neue) Support-Modell für Oracle JDK
  18. Copyright © Accso – Accelerated Solutions GmbH 18 https://www.oracle.com/technetwork/java/eol-135779.html Kein

    $free Support mehr für Oracle JDK ab Java 11. Das (neue) Support-Modell für Oracle JDK
  19. Copyright © Accso – Accelerated Solutions GmbH 19 Das (neue)

    Support-Modell für Oracle JDK https://www.oracle.com/technetwork/java/eol-135779.html Produktiver Einsatz von Oracle JDK 11 ist nur kostenpflichtig möglich. Kein Einsatz ohne Lizenz(kosten) in Nicht-Entwicklung/Test-Umgebungen.
  20. Copyright © Accso – Accelerated Solutions GmbH 20 Das (neue)

    Support- Modell für Oracle JDK Was beinhaltet welcher Support?  https://www.oracle.com/support/lifetime-support/index.html Welche Kosten entstehen? https://www.oracle.com/technetwork/java/javaseproducts/ overview/javasesubscriptionfaq-4891443.html http://www.oracle.com/us/corporate/pricing/price- lists/java-se-subscription-pricelist-5028356.pdf • „Java SE Subscription“ für Server-Anwendungen (Abrechnung pro Prozessor), bis $25 pro Monat pro Prozessor • „Java SE Desktop Subscription“ für Client-Anwendungen (Abrechnung pro Benutzer/Client), bis $2,50 pro Monat pro Benutzer/Client
  21. Copyright © Accso – Accelerated Solutions GmbH 21 OpenJDK als

    Alternative zum Oracle JDK https://blog.joda.org/2018/09/time-to-look-beyond-oracles-jdk.html
  22. Copyright © Accso – Accelerated Solutions GmbH 22 OpenJDK als

    Alternative zum Oracle JDK https://blog.joda.org/2018/09/time-to-look-beyond-oracles-jdk.html Gemeinsamer Sourcecode ist die Basis für alle OpenJDKs.
  23. Copyright © Accso – Accelerated Solutions GmbH 23 https://blog.joda.org/2018/09/time-to-look-beyond-oracles-jdk.html Verschiedene

    Anbieter können ein(en) OpenJDK(-Builds) anbieten. OpenJDK als Alternative zum Oracle JDK
  24. Copyright © Accso – Accelerated Solutions GmbH 24 http://jdk.java.net/ https://www.azul.com/downloads/zulu/

    https://adoptopenjdk.net/ • Red Hat OpenJDK builds https://access.redhat.com/articles/1299013 • Linux-basierte OpenJDK builds, z.B. Debian, Fedora, Arch, Ubuntu • SAP https://sap.github.io/SapMachine/ • IBM https://developer.ibm.com/javasdk/support/lifecycle/ • Und andere … https://blog.joda.org/2018/09/time-to-look-beyond-oracles-jdk.html https://dev.karakun.com/jdks/ OpenJDK-Anbieter (Auswahl)
  25. Copyright © Accso – Accelerated Solutions GmbH 25 Nicht zu

    verwechseln: Oracle JDK und OpenJDK von Oracle Der Einsatz eines OpenJDK-Builds von Oracle ist nicht kostenpflichtig. Kostenfreier Support nur für 6 Monate bis zum nächsten Java- Haupt-Release. Lizenz: GNU GPLv2 mit Classpath Extension https://openjdk.java.net/legal/gplv2+c e.html OpenJDK von Oracle http://jdk.java.net/ https://openjdk.java.net/projects/jdk/11/
  26. Copyright © Accso – Accelerated Solutions GmbH 26 OpenJDK von

    Oracle https://marxsoftware.blogspot.com/2018/09/ a-tale-of-two-oracle-jdks.html
  27. Copyright © Accso – Accelerated Solutions GmbH 27 https://openjdk.java.net/legal/gplv2+ce.html https://resources.whitesourcesoftware.com/blog-whitesource/top-9-gpl-with-the-classpath-exception-questions-answered

    Was bedeutet die Lizenz GNU GPLv2 mit Classpath Exception? https://softwareengineering.stackexchange.com/questions/119436/what-does- gpl-with-classpath-exception-mean-in-practice
  28. Copyright © Accso – Accelerated Solutions GmbH 28 AdoptOpenJDK als

    „community group”. Builds für alle relevanten Platt- formen, für Java 8, 9, 10, 11 und mit verschiedenen Varianten • mit Hotspot • mit OpenJ9 (ehemals IBM JDK, nun bei Eclipse) „… LTS release for at least 4 years“ Java 11 bis mind. September 2022 Patches von z.B. IBM und Redhat werden in Builds bereitgestellt. OpenJDK von AdoptOpenJDK https://adoptopenjdk.net/
  29. Copyright © Accso – Accelerated Solutions GmbH 29 Long Term

    Support LTS für mind. 8 Jahre Mid Term Support MTS für manche Zwischenreleases für 18 Monate nach dem nächsten LTS • Beispiel: MTS für Java 9 bis März 2020 OpenJDK von Azul https://www.azul.com/products/azul_support_roadmap/
  30. Copyright © Accso – Accelerated Solutions GmbH 30 OpenJDK von

    Azul https://www.azul.com/products/azul_support_roadmap/
  31. Copyright © Accso – Accelerated Solutions GmbH 31 Alternativen in

    der (AWS-)Cloud https://amzn.to/2E38Rxo
  32. Copyright © Accso – Accelerated Solutions GmbH 32 Alternativen in

    der (AWS-)Cloud https://amzn.to/2E38Rxo
  33. Copyright © Accso – Accelerated Solutions GmbH 33 Alternativen in

    der (AWS-)Cloud https://aws.amazon.com/corretto/
  34. Copyright © Accso – Accelerated Solutions GmbH 35 Themen und

    Aufwand bei der Migration Java 8  11 Agenda Welche Entscheidungskriterien muss ich beachten? Was ändert sich alles?
  35. Copyright © Accso – Accelerated Solutions GmbH 36 Entscheidungskriterien für

    Migration und Plattform commercial oder personal user Produktive Nutzung ? Update-Politik Kritikalität der Anwendung – wie wichtig/dringend sind Updates bzw. Support? Wie (zeitlich) flexibel ist man bei Updates? Wieviel Geld darf man ausgeben: Kostenfreier oder kostenpflichtiger Support? Technologisch Eigene Individual-Entwicklung basiert auf Java Neuentwicklung / grüne Wiese oder Altwendung (auf Java 8)? Wieviel Aufwand kann/will man in Software-Migration und dessen Tests stecken? Produkt nutzt Java? Organisatorisch
  36. Copyright © Accso – Accelerated Solutions GmbH 37 Entscheidungskriterien für

    Migration und Plattform commercial oder personal user Produktive Nutzung ! Update-Politik Kritikalität der Anwendung – wie wichtig/dringend sind Updates bzw. Support? Wie (zeitlich) flexibel ist man bei Updates? Wieviel Geld darf man ausgeben: Kostenfreier oder kostenpflichtiger Support? Technologisch Eigene Individual-Entwicklung basiert auf Java Neuentwicklung / grüne Wiese oder Altwendung (auf Java 8)? Wieviel Aufwand kann/will man in Software-Migration und dessen Tests stecken? Produkt nutzt Java? Organisatorisch
  37. Copyright © Accso – Accelerated Solutions GmbH 38 Entscheidungskriterien für

    Migration und Plattform Wenig Budget für Support/Lizenz Hoher Migrationsaufwand erforderlich Hohe Kritikalität der Anwendung erfordert schnelle Updates Zeitlich unflexibel (bei Updates / Migrationen) Viel Budget für Support/Lizenz Kein Migrationsaufwand erforderlich Niedrige Kritikalität der Anwendung erfordert keine Updates Zeitlich flexibel (bei Updates / Migrationen)
  38. Copyright © Accso – Accelerated Solutions GmbH 39 Beispiel 1:

    Kritische, große Internet-Anwendung (Java 8) Wenig Budget für Support/Lizenz Hoher Migrationsaufwand erforderlich Hohe Kritikalität der Anwendung erfordert schnelle Updates Zeitlich unflexibel (bei Updates / Migrationen) Viel Budget für Support/Lizenz Kein Migrationsaufwand erforderlich Niedrige Kritikalität der Anwendung erfordert keine Updates Zeitlich flexibel (bei Updates / Migrationen)
  39. Copyright © Accso – Accelerated Solutions GmbH 40 Beispiel 1:

    Kritische, große Internet-Anwendung (Java 8) Verzicht auf Updates  keine Option Auf Oracle JDK 8 bleiben  Supportkosten, aber keinerlei Migrationskosten Zu OpenJDK 8 wechseln  Update dann alle 6 Monate durch Releasewechsel Zu OpenJDK 8 wechseln  Support für OpenJDK einkaufen
  40. Copyright © Accso – Accelerated Solutions GmbH 41 Beispiel 2:

    Legacy-Inhouse-Anwendung (Java 8) Wenig Budget für Support/Lizenz Hoher Migrationsaufwand erforderlich Hohe Kritikalität der Anwendung erfordert schnelle Updates Zeitlich unflexibel (bei Updates / Migrationen) Viel Budget für Support/Lizenz Kein Migrationsaufwand erforderlich Niedrige Kritikalität der Anwendung erfordert keine Updates Zeitlich flexibel (bei Updates / Migrationen)
  41. Copyright © Accso – Accelerated Solutions GmbH 42 Beispiel 2:

    Legacy-Inhouse-Anwendung (Java 8) Auf Oracle JDK 8 bleiben  kostenfrei nutzbar (aber keine Updates) Auf Oracle JDK 11 wechseln  nicht kostenfrei in Produktion nutzbar Auf OpenJDK 8 wechseln  geringer(?) Aufwand für Plattformwechsel Später: Support (für 8) oder Release-Migrationen (auf OpenJDK 11 oder weitere LTS)
  42. Copyright © Accso – Accelerated Solutions GmbH 43 Beispiel 3:

    Produkteinsatz, z.B. Elasticsearch (auf Java8) Wenig Budget für Support/Lizenz Hoher Migrationsaufwand erforderlich Hohe Kritikalität der Anwendung erfordert schnelle Updates Zeitlich unflexibel (bei Updates / Migrationen) Viel Budget für Support/Lizenz Kein Migrationsaufwand erforderlich Niedrige Kritikalität der Anwendung erfordert keine Updates Zeitlich flexibel (bei Updates / Migrationen) ? ? ? ? ? ? ? ?
  43. Copyright © Accso – Accelerated Solutions GmbH 44 Beispiel 3:

    Produkteinsatz, z.B. Elasticsearch (auf Java8) https://www.elastic.co/de/support/matrix#matrix_jvm Migrationsaufwand fällt nur an, wenn Versionswechsel von Elasticsearch anfiele. Migrationsaufwand für Plattform- wechsel Oracle JDK 8  OpenJDK 8 sind über Support- Matrix schon abgedeckt.
  44. Copyright © Accso – Accelerated Solutions GmbH 45 Beispiel 3:

    Produkteinsatz, z.B. Elasticsearch (auf Java8) Wenig Budget für Support/Lizenz Hoher Migrationsaufwand erforderlich Hohe Kritikalität der Anwendung erfordert schnelle Updates Zeitlich unflexibel (bei Updates / Migrationen) Viel Budget für Support/Lizenz Kein Migrationsaufwand erforderlich Niedrige Kritikalität der Anwendung erfordert keine Updates Zeitlich flexibel (bei Updates / Migrationen)
  45. Copyright © Accso – Accelerated Solutions GmbH 46 Quality Outreach

    für Kompatibilitätsaussagen https://wiki.openjdk.java.net/display/quality/Quality+Outreach
  46. Copyright © Accso – Accelerated Solutions GmbH 47 Themen und

    Aufwand bei der Migration Java 8  11 Agenda Welche Entscheidungskriterien muss ich beachten? Was ändert sich alles?
  47. Copyright © Accso – Accelerated Solutions GmbH 49 Änderungen in

    Java 9, Java 10, Java 11 https://openjdk.java.net/projects/jdk9/ https://openjdk.java.net/projects/jdk/10/ https://openjdk.java.net/projects/jdk/11/
  48. Copyright © Accso – Accelerated Solutions GmbH 51 Was kommt

    mit Java 9 neu, was ist anders? Kein Unterschied mehr zwischen JDK und JRE JEP220 Modulsystem Jigsaw „Java Platform Modul System JPMS“ JSR 376 • Grundlegende Strukturänderung von Java-Plattform und –Sprache! • Restriktiver Zugriffsschutz führt ggf. zu Laufzeitfehlern! • Auch bei Reflection, damit Frameworks wie Spring & Co betroffen! • Fallen wie Split Package, Unnamed Package Veränderter Versionsstring führt ggf. zu Laufzeitfehlern JEP 223 Build für verschiedene Releases (--release, -source, -target) Möglichkeit, Features/APIs als „Deprecated“ zu erklären JEP 277
  49. Copyright © Accso – Accelerated Solutions GmbH 63 Internes Clean

    up, Optimierungen var https://openjdk.java.net/projects/jdk/10/ Java 10: Keine migrations-relevanten Änderungen
  50. Copyright © Accso – Accelerated Solutions GmbH 65 https://openjdk.java.net/projects/jdk/11/ https://dzone.com/articles/what-the-future-java-releases-will-mean-for-legacy

    Java 11: Nicht-abwärtskompatible Änderungen! Deprecated: • Nashorn (JEP 335) • Pack200-Tools (JEP 336) • -XX:+AggressiveOpts • -XX:+UnlockCommericalFeatures • -XX:+LogCommercialFeatures
  51. Copyright © Accso – Accelerated Solutions GmbH 66 https://openjdk.java.net/projects/jdk/11/ https://dzone.com/articles/what-the-future-java-releases-will-mean-for-legacy

    Java 11: Nicht-abwärtskompatible Änderungen! Es entfallen: • Java EE & CORBA Modules (JEP 320) Abhilfe: https://stackoverflow.com/questions/48204141/replacements-for- deprecated-jpms-modules-with-java-ee-apis • JRE Auto-Update • jdk.snmp • Bundled Fonts • Java Applets • Java Web Start • JavaFX nicht mehr Teil des JDK, nun als OpenJFX • Java Plugin, Java Control Panel Java Client Roadmap Update https://www.oracle.com/technetwork/java/javase/javaclientroadmapupdate2 018mar-4414431.pdf ggf. Abhilfe: https://dev.karakun.com/webstart/
  52. Copyright © Accso – Accelerated Solutions GmbH 67 Migration von

    Java 8 nach 11 auf einen Blick A) Methodische Herangehensweise nicht neben „normaler Weiterentwicklung“, zu viele Merge-Konflikte und Probleme drohen Migration nicht zu lange „offen lassen“ Continuous Build und Integration sind Pflicht! Stetige, möglichst automatisierte Regressionstests nutzen (klares Entscheidungskriterium für „wann sind wir fertig?“) Mehrere Builds im Build-System parallel nutzen (z.B. mit Maven-Profiles für verschiedene Ziel-JDKs) möglichst wenige, zentralisierte JDK-Release-abhängige Konfigurations- einstellungen
  53. Copyright © Accso – Accelerated Solutions GmbH 68 Migration von

    Java 8 nach 11 auf einen Blick B) Typische Migrationsschritte von 8  11 1. Von Oracle JDK 8 erst mal nach OpenJDK 8 2. „Illegal Access To Internal APIs" statisch prüfen mit "jdeps --jdk-internals" 3. (iterativ) Alle Frameworks, Tools (auch IDE, Build, Maven, Plugins, …) und Bibliotheken auf die neueste Version bringen – mit JDK 8 4. Von OpenJDK 8 auf OpenJDK 11 wechseln (erstmal auf den Classpath) damit alle Änderungen von 9 und 10 zu beachten 5. (iterativ) Alle Frameworks, Tools (auch IDE, Build, Maven, Plugins, …) und Bibliotheken auf die neueste Version bringen – mit JDK 11 6. „Illegal Access To Internal APIs“ dynamisch auf Laufzeitfehler analysieren mit --illegal-access=debug|deny https://blog.codefx.org/java/planning-your-java-9-update/ https://blog.codefx.org/java/java-11-migration-guide/
  54. Copyright © Accso – Accelerated Solutions GmbH 70 Ausblick: Jigsaw-Modularisierung

    der Anwendung Schrittweise, iterative Modularisierung: • Vom Classpath zum Module-Path • u.a. mit Automatic Modules • Bottom-Up-Migration • Vorsicht: CP/MP nicht lange mischen! Architektonische Weiterentwicklung durch Modularisierung  Modularity Patterns helfen weiter
  55. Copyright © Accso – Accelerated Solutions GmbH 71 Literatur

  56. Copyright © Accso – Accelerated Solutions GmbH 72 Literatur und

    Links 1/3 „Oracle Java SE Support Roadmap“ • https://www.oracle.com/technetwork/java/javase/eol-135779.html Wolfgang Weigend, Oracle „The JDK 8 end of public updates and the Java SE subscription“ • https://www.slideshare.net/wolfgangweigend/the-jdk-8-end-of-public- updates-and-the-java-se-subscription-112120246
  57. Copyright © Accso – Accelerated Solutions GmbH 73 Literatur und

    Links 2/3 Hendrik Ebbers „Do I need to pay for Java now?“ • https://dev.karakun.com/java/2018/06/25/java-releases.html „Wird Java jetzt kostenpflichtig?“ • bei Heise: https://www.heise.de/developer/artikel/Wird-Java-jetzt- kostenpflichtig-4144533.html?seite=all „The road to Java 11 - builds and licences“ • https://dev.karakun.com/java/2018/09/16/java-11-licence.html
  58. Copyright © Accso – Accelerated Solutions GmbH 74 Literatur und

    Links 3/3 Java Champions „Java is Still Free“ • https://docs.google.com/document/d/1nFGazvrCvHMZJgFstlbzoHjpAVwv 5DEdnaBr_5pKuHo • https://medium.com/@javachampions/java-is-still-free-c02aef8c9e04 Stephen Colebourne „Java is still available at zero-cost” • https://blog.joda.org/2018/08/java-is-still-available-at-zero-cost.html „Time to look beyond Oracle's JDK” • https://blog.joda.org/2018/09/time-to-look-beyond-oracles-jdk.html
  59. Copyright © Accso – Accelerated Solutions GmbH 75 75 75

    Accso – Accelerated Solutions GmbH T | +49 6151 13029-0 E | info@accso.de @ | www.accso.de Berliner Allee 58 | 64295 Darmstadt Moltkestraße 131a | 50674 Köln Balanstraße 55 | 81541 München https://speakerdeck.com/mrtnlhmnn @accso @mrtnlhmnn @krschaal https://github.com/accso/java9-jigsaw-examples/ https://github.com/accso/java9-jigsaw-depvis/ http://accso.de/java/
  60. Copyright © Accso – Accelerated Solutions GmbH 76 SHARING YOUR

    CHALLENGE 76 Copyright © Accso GmbH Accso – Accelerated Solutions GmbH T | +49 6151 13029-0 E | info@accso.de @ | www.accso.de Berliner Allee 58 | 64295 Darmstadt Moltkestraße 131a | 50674 Köln Balanstraße 55 | 81541 München