Language Selection

English French German Italian Portuguese Spanish

diet4j: run Maven modules directly, and avoid gigantic JARs and WARs

Maven is great for breaking gigantic code bases into many little modules, with identified dependencies. This allows incremental builds etc.

And then, to run that code, we usually put all together again into a uber-mega-JAR or WAR, or with mile-long class paths. While sometimes this makes sense, often it does not.

diet4j can run command-line apps, and Tomcat web apps, similarly to how maven builds projects: simply specify the name of the top project, and diet4j assembles all the other JARs automatically for the run.

E.g. if your project hierarchy looks like this:

    Project A
        Project B
            Project C
        Project D

you can say:

> diet4j A

which will read the POM in A.jar (in ~/.m2/repository, or a location of your choosing), determine run-time dependencies, then recursively look for B.jar, C.jar and D.jar, load them into separate ClassLoaders, hook up dependencies and jump on the main program (if it has one) of Project A.

It may not be for all people, but it is for some who want to distribute changes incrementally, avoid rebuilding gigantic JARs every time some small change needs to happen, fit better into Linux-style package management etc. It’s also great for dynamically finding and loading modules without restarting the application.

We’d love some feedback, it’s early days.

http://diet4j.org/

More in Tux Machines

Type Title Author Replies Last Postsort icon
Story today's howtos Roy Schestowitz 23/04/2021 - 5:51pm
Story Ubuntu 21.04 is here Roy Schestowitz 27 23/04/2021 - 5:49pm
Story Here’s Why University of Minnesota is Likely to be Banned from Contributing to Linux Kernel Code Roy Schestowitz 17 23/04/2021 - 5:38pm
Story KDE Gear 21.04 Software Suite Officially Released with Many Improved KDE Apps Marius Nestor 2 23/04/2021 - 5:35pm
Story Geary Email Client Is Now Ready for GNOME 40 with Fresh New Look, Improved Performance Marius Nestor 1 23/04/2021 - 5:25pm
Story 10 Things to do After Installing Ubuntu 21.04 Hirsute Hippo arindam1989 23/04/2021 - 5:14pm
Story FSF Defends RMS Roy Schestowitz 24 23/04/2021 - 4:43pm
Story T2 21.4 "Fully Automated" Roy Schestowitz 23/04/2021 - 11:38am
Story Getting Fractal up to speed Roy Schestowitz 23/04/2021 - 11:30am
Story today's howtos Roy Schestowitz 23/04/2021 - 11:09am