POMStrap

POMStrap is a little opensource (BSD License) application bootstrap designed to avoid the Java library dependency headache.
Download

POMStrap Ranking & Summary

Advertisement

  • Rating:
  • License:
  • BSD License
  • Price:
  • FREE
  • Publisher Name:
  • Alag
  • Publisher web site:
  • http://pomstrap.prefetch.com/en/

POMStrap Tags


POMStrap Description

POMStrap is a little opensource (BSD License) application bootstrap designed to avoid the Java library dependency headache. POMStrap is a little opensource (BSD License) application bootstrap designed to avoid the Java library dependency/version headache. The more we use open-source Java components, the more we have to deal with the classical problem of dependency conflict.I've personally experienced this problem when using FOP and Batik simultaneously: FOP required a specific old version of Batik to work (and render vector images), and I needed to use the latest version of Batik for image rendering.POMStrap allows you clean separation of concern within your application (for component oriented architecture), providing strict hierarchical classloader confinement.POMStrap is able to load application dependency as they are declared in Maven 2 project file, and execute each dependency in its own classloader without inhering from its parent avoiding version conflict.By using POMStrap you will be able to have an application dependency schema such as:Application-1.0 + DepA-1.0 + DepB-1.0 + DepA-2.0And DepB-1.0 executing DepA-2.0 classes (and not DepA-1.0 as it would be without POMStrap).POMStrap also work as an application bootstrap. POMStrap project just requires a pom file (Maven 2 project file) and a class/method to fetch all required dependencies and launch the application using a command line syntax such as:java -jar pomstrap-1.0.jar groupId:artifact:version classname for example:java -jar pomstrap-1.0.jar pomstrap:testApp:1.0 com.prefetch.pomstrap.App:runIf no method is provided it will try to start the classical java static main method.Be default POMStrap looks into you local repository (in you /.m2/repository) but you can also specify another repository URL using system property: "-Dmaven2.repository.url="You can use POMStrap via a Servlet with similar init-parameters configuration (see provided example sources).A JBoss POMStrap Service is also available and allows you to lauch applications as JBoss Service (via .sar file deployed in a JBoss instance).By the way, POMStrap can easily be embedded in your application with minimal impact (since it does not require any external library). What's New in This Release: · Custom group bugfix · Small fix on custom group property parsing. · Bugfix to for better pom parent file properties support. · Code cleanup · Small lookup optim to speedup findclass/findresource · Avoid cyclic dependency in classloader · Added cache feature on resources · Remove enumeration != null as findRessource always return an instance of enumeration (empty or not) · Small fix to avoid deprecated in JDK5 · Added optimization in DependencyClassloader to avoid findClass if it has allready set as not found · Added pomstrap.loadscope property to allow to fetch the specified dependency artifact scope · For example: pomstrap.loadscope=compile,provided · will load compile and provided scope artifacts (of course default scope is still loaded) · I've added this feature because groovy declare most of its dependency with compile scope, so pomstrap try to find them (here it was asm 2.2.3) in its dependency tree and load a class from another classloader with inappropriate version.


POMStrap Related Software