ModRun: Java Classloading Made Easy

Written by Zaiku | Published 2016/11/21
Tech Story Tags: java | jvm | maven | programming | java8

TLDRvia the TL;DR App

We are pleased to announce the first release of ModRun, which is a Java classloader that can load and run classes directly from Maven repositories and resolve dependencies at runtime. In this post we`ll focus on some of the benefits that ModRun can bring to the Java community.

1. Installation of apps

All apps are now just located in a local Maven repository on the server. No duplication of dependencies, no home grown version control needed.

2. Upgrading Apps

Just put the new version of your app in the local Maven repository on the server, and it’s dependencies too, and you can run the new version.

3. Dependency Conflicts

ModRun allows multiple version of the same module to be loaded into memory at the same time. Different versions of dependencies can be used by different modules at the same time.

4. Launching

Since all Java modules are stored in a local Maven repository, launching applications becomes very easily standardised. Additionally, the classpath is always only one JAR file long — ModRun’s.

5. Multi Tenancy

ModRun can load multiple applications into the same JVM in a way that keeps their classes completely separated from each other — even if they share dependencies. This is a very good from security point of view as multiple applications running in the same JVM do not share classes.

ModRun can also load the same application into the same JVM multiple times, all of which still run separately. It can even run different versions of the same app in the same JVM at the same time.

Finally, at the moment ModRun can only load JARs from a local Maven repository, but downloading from remote repositories is on the near future development roadmap. Our CTO Jakob has also put together a quick tutorial page where you can learn more about how to use ModRun.

Posted by Bambordé Baldé, Co-Founder at Zaiku.


Published by HackerNoon on 2016/11/21