~/talk

Migrating to Modules

Talkat Oracle Code One 2018 · 2018-10-22..10-25· [java, software-architecture]
slides:none on file

Modularizing a large Java app is hard but practical: upgrade tooling (jenv/jabba, Maven toolchains), run jdeps to generate module-info, fix dependency cycles and split packages, adjust reflective code and add requires transitive or exports for frameworks, then use moditect repackaging or publish modularized jars to Nexus so jlink can run. jlink produces small runtime images (examples around 95–100 MB). Automatic modules work at runtime but jlink rejects them; some libraries (EclipseLink, Hibernate) block progress and require manual work.

AI-written summary · about

  1. 0:00Intro
  2. 0:59Migrating to Modules
  3. 10:02Tooling Support
  4. 12:23Maven Toolchain
  5. 13:09Java Visibility Pre-Java 9
  6. 13:49Java Accessibility
  7. 14:28Class Loading & Module System
  8. 14:44Module Definition
  9. 17:18Modularization Process
  10. 18:55Modularizing Maven Projects
  11. 21:11Visualizing Dependencies
  12. 21:54Analyze Project Structure
  13. 23:16Dependency Cycles
  14. 24:29Split Packages
  15. 25:30Java EE Dependencies
  16. 28:07Reflection: Qualified Exports
  17. 30:27Module Graphs
  18. 31:54Implementing Plugins
  19. 32:26Transitive Dependencies
  20. 34:00Services Example
  21. 34:40Defining Service API
  22. 34:53Service Implementation
  23. 35:14Services in Action
  24. 35:43Troubleshooting
  25. 38:46Maven jlink Plugin
  26. 39:07Non-modularized Dependencies
  27. 43:34Generated Modules & Compiler
  28. 43:46Configuring Main Class
  29. 44:04Create a jlink Module
  30. 44:14jlink Plugin Configuration
  31. 44:31Dependencies Caveat
  32. 45:57Summary
  33. 46:50Resources
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.