> On Jun 25, 2015, at 10:53, Preston, Dale <[email protected]> > wrote:
> > Ernst, > > This is a great idea and very timely for me. I'm updating our Java SDLC and > our current process manually creates shell scripts with long classpaths for > dependency resolution. We're moving to Maven and your idea could really > help. I'll check it out and let you know how it works for us. > > Dale Hi Dale, glad you think so. Extensions and fixes appreciated :-) Cheers, Johannes. > > -----Original Message----- > From: Johannes Ernst [mailto:[email protected]] > Sent: Tuesday, June 02, 2015 13:28 > To: [email protected] > Subject: [EXTERNAL]Ann: diet4j -- run Maven modules directly, without > gigantic jars > > 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. > > No jar-with-dependencies and stuff like that required. Usually no changes are > required to maven projects or program structure. > > As I said, 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. > > I’d love some feedback, it’s early days. > > http://diet4j.org/ <http://diet4j.org/> > > Thank you, > > > Johannes Ernst > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
