$30 off During Our Annual Pro Sale. View Details »

What's cooking in Maven? (DubJUG)

What's cooking in Maven? (DubJUG)

It’s been over 10 years since Maven 3 saw the light, bringing initial multi-module support. Later releases brought a lot of improvements, bug fixes, and of course coloured output.

But the Maven community hasn’t been resting on their laurels. A lot of effort has gone into the future of Maven. You may have heard about Maven 4, Maven Wrapper, or Maven Daemon. Why should you care? And how will it change the way you use Maven? I will show you by using the latest snapshot builds of Maven - time will tell if that’s a brave or a stupid idea…

Join me to find out what the future of Maven has for you!

Maarten Mulders

March 01, 2023
Tweet

More Decks by Maarten Mulders

Other Decks in Programming

Transcript

  1. WHAT'S COOKING IN
    WHAT'S COOKING IN
    WHAT'S COOKING IN
    WHAT'S COOKING IN
    WHAT'S COOKING IN
    MAVEN?
    MAVEN?
    MAVEN?
    MAVEN?
    MAVEN?
    #maven Maarten Mulders (@mthmulders)

    View Slide

  2. #maven Maarten Mulders (@mthmulders)

    View Slide

  3. spring-io/start.spring.io #1012

    And I just wanted to mention that [...] Maven is
    working on a lot of the nice things [...]. Most of
    them are already available for use.

    -- Martin Kanters
    #maven Maarten Mulders (@mthmulders)

    View Slide

  4. WHAT'S COOKING IN
    WHAT'S COOKING IN
    WHAT'S COOKING IN
    WHAT'S COOKING IN
    WHAT'S COOKING IN
    MAVEN?
    MAVEN?
    MAVEN?
    MAVEN?
    MAVEN?
    #maven Maarten Mulders (@mthmulders)

    View Slide

  5. ABOUT ME






    @mthmulders
    @Java_Champions
    @OracleACE
    @InfoSupportBV
    #maven Maarten Mulders (@mthmulders)

    View Slide

  6. MENU DU JOUR
    Todays Menu
    Entrée Maven Wrapper
    Plat Principal Build/Consumer POM
    Fromage Improved Reactor
    Dessert Maven Daemon
    #maven Maarten Mulders (@mthmulders)

    View Slide

  7. ENTRÉE
    ENTRÉE
    ENTRÉE
    ENTRÉE
    ENTRÉE
    MAVEN WRAPPER
    MAVEN WRAPPER
    MAVEN WRAPPER
    MAVEN WRAPPER
    MAVEN WRAPPER
    #maven Maarten Mulders (@mthmulders)

    View Slide

  8. MAVEN WRAPPER
    Ensures project users have everything they need to build your
    project.
    Runs on Linux, macOS, Solaris, Windows.
    Forget about different Maven versions your users may have.
    #maven Maarten Mulders (@mthmulders)

    View Slide

  9. LET'S GET COOKING!
    LET'S GET COOKING!
    LET'S GET COOKING!
    LET'S GET COOKING!
    LET'S GET COOKING!
    #maven Maarten Mulders (@mthmulders)

    View Slide

  10. PLAT PRINCIPAL
    PLAT PRINCIPAL
    PLAT PRINCIPAL
    PLAT PRINCIPAL
    PLAT PRINCIPAL
    BUILD/CONSUMER POM
    BUILD/CONSUMER POM
    BUILD/CONSUMER POM
    BUILD/CONSUMER POM
    BUILD/CONSUMER POM
    #maven Maarten Mulders (@mthmulders)

    View Slide

  11. BUILD/CONSUMER POM
    Decouples POM in version control from POM in repository.
    #maven Maarten Mulders (@mthmulders)

    View Slide

  12. #maven Maarten Mulders (@mthmulders)

    View Slide

  13. #maven Maarten Mulders (@mthmulders)

    View Slide

  14. BUILD/CONSUMER POM
    Decouples POM in version control from POM in repository.
    Paves the road for further evolution of the POM as we know it.
    Without breaking the whole Java ecosystem.
    #maven Maarten Mulders (@mthmulders)

    View Slide

  15. LET'S GET COOKING!
    LET'S GET COOKING!
    LET'S GET COOKING!
    LET'S GET COOKING!
    LET'S GET COOKING!
    #maven Maarten Mulders (@mthmulders)

    View Slide

  16. FROMAGE
    FROMAGE
    FROMAGE
    FROMAGE
    FROMAGE
    IMPROVED REACTOR
    IMPROVED REACTOR
    IMPROVED REACTOR
    IMPROVED REACTOR
    IMPROVED REACTOR
    #maven Maarten Mulders (@mthmulders)

    View Slide

  17. IMPROVED REACTOR
    Addresses long-standing issues in Maven on multi-module
    projects.
    The Reactor is now fully root-project aware.
    — As long as you have a .mvn folder.
    It improves your daily use of Maven: no more mvn install.
    #maven Maarten Mulders (@mthmulders)

    View Slide

  18. LET'S GET COOKING!
    LET'S GET COOKING!
    LET'S GET COOKING!
    LET'S GET COOKING!
    LET'S GET COOKING!
    #maven Maarten Mulders (@mthmulders)

    View Slide

  19. DESSERT
    DESSERT
    DESSERT
    DESSERT
    DESSERT
    MAVEN DAEMON
    MAVEN DAEMON
    MAVEN DAEMON
    MAVEN DAEMON
    MAVEN DAEMON
    #maven Maarten Mulders (@mthmulders)

    View Slide

  20. MAVEN DAEMON
    Provides faster Maven builds using a daemon process.
    Keeps the JVM and plugins "warm".
    Runs multi-threaded by default without cluttering output.
    #maven Maarten Mulders (@mthmulders)

    View Slide

  21. LET'S GET COOKING!
    LET'S GET COOKING!
    LET'S GET COOKING!
    LET'S GET COOKING!
    LET'S GET COOKING!
    #maven Maarten Mulders (@mthmulders)

    View Slide

  22. TIMELINES
    TIMELINES
    TIMELINES
    TIMELINES
    TIMELINES
    #maven Maarten Mulders (@mthmulders)

    View Slide

  23. MAVEN WRAPPER
    🟢
    Available today
    #maven Maarten Mulders (@mthmulders)

    View Slide

  24. BUILD/CONSUMER POM
    🟠
    Available in Maven 4
    ⚠️
    Plugins need updating / replacement
    #maven Maarten Mulders (@mthmulders)

    View Slide

  25. IMPROVED REACTOR
    🟠
    Available in Maven 4
    #maven Maarten Mulders (@mthmulders)

    View Slide

  26. MAVEN DAEMON
    🟢
    Available today
    ⚠️
    Not yet available for Apple Silicon since v0.8.2, released Oct.
    2022.
    ⚠️
    May break if you use non-threadsafe plugins
    #maven Maarten Mulders (@mthmulders)

    View Slide

  27. Maven Wrapper
    🟢
    Build/Consumer POM
    🟠
    Improved Reactor
    🟠
    Maven Daemon
    🟢
    #maven Maarten Mulders (@mthmulders)

    View Slide

  28. PLEASE HELP!
    1.
    💾
    Maven 4.0.0 alpha-3
    2.
    🧪
    test
    3. 🛠️
    reproduce
    4.
    📃
    report
    #maven Maarten Mulders (@mthmulders)

    View Slide

  29. THANK YOU!
    REFERENCES & MORE INFORMATION
    Demo Projects @mthmulders
    #maven Maarten Mulders (@mthmulders)

    View Slide