The Karaf console project inlines all classes from jline and jansi to provide a single jar that can be used easily outside Karaf.

From Karaf 3 on jline and jansi are not inlined anymore. The reason was that we do not need to do special jline setup and that the standalone console now has some other dependencies anyway

Pros

  • For standalone usage the console jar can be called using java -jar

Cons

  • Inlining other projects breaks the module concept where each module tries to keep as many things private as possible
  • Ties console to one specific version of jline and jansi
  • The standalone jar could also be built individually. So in OSGi the jars could be separate

Who was involved

  • Guillaume Nodet
  • Christian Schneider
    *

References

  • No labels