Java 9 brings revolutionary changes. There is a big difference between their adoption and adoption of similarly revolutionary features of Java 8: lambdas and streams could gradually be included in a project, but Jigsaw requires some significant changes to the existing code. Jersey and Tyrus are popular open source libraries of considerable size and cherish backward compatibility. This session presents lessons learned during a migration to Java 9 and adoption of Jigsaw features. The nature of the projects and their features—such as resource injection or scanning and using user-provided (thus unknown, in standard dependency view) classes—make the migration particularly interesting and informative for future Java 9 adopters.