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

Hands on Jigsaw | DevFest Nantes

Avatar for louiznk louiznk
October 18, 2018

Hands on Jigsaw | DevFest Nantes

Slides pour lancer l'atelier

Avatar for louiznk

louiznk

October 18, 2018

More Decks by louiznk

Other Decks in Programming

Transcript

  1. Hello Mathieu Mure Zeninaute | Dev full stack @ Zenika

    Lyon [email protected] @mathieumure Louis Tournayre Zeninaute | Dev back | DT @ Zenika Lyon [email protected] @_louidji
  2. “Jigsaw permet d’avoir des applications et un JRE modulaire avec

    une surface d’exposition et des dépendances contrôlées”
  3. Jigsaw TLDR; • Un module c’est un ou plusieurs packages

    • Certain de ces packages seront réutilisables (en bleu) • D’autres seront internes et réellement inaccessibles depuis d’autres modules (en rouge) • Un module peut dépendre d’autres modules
  4. Fichier module-info.java • Déclaration du module à la racine des

    sources dans module-info.java • Dépendances vers d’autres modules via le mot clé requires • Exposition des classes et API public via exports module org.zenika.jigsaw { requires java.logging; requires org.zenika.jedi; requires gov.nasa.explore; requires io.vavr; exports org.zenika.jigsaw.public; }
  5. Visibilité / accessibilité ? Accessibilité < JDK 9 • public

    • protected • package • private Accessibilité JDK 9+ • public to everyone • public but only to friend modules • public only within a module • protected • package • private
  6. Épisodes EPISODE I - LA MENACE DE LA CONFIGURATION EPISODE

    II - LE GUERRE DU HELLO WORLD EPISODE III - LA REVANCHE DES SITH MAVEN EPISODE IV - GRADLE, UN NOUVEL ESPOIR EPISODE V - YODA CONTRE-ATTAQUE