Repository navigation
JLLL v2.2.0
What's New in JLLL 2.2.0
Dynamic Classpath Support
Load Maven dependencies at runtime with environment-scoped classloaders:
;; Load external library and use it
(env :depends '("com.google.code.gson:gson:2.10.1")
(define Gson (class "com.google.gson.Gson"))
(define gson (new Gson))
(invoke gson "toJson" '(1 2 3)))
;; => "[1,2,3]"
;; Create reusable environment with dependencies
(define json-env (env :depends '("com.google.code.gson:gson:2.10.1")))
(eval :env json-env '(new (class "com.google.gson.Gson")))Features:
- Full transitive Maven dependency resolution
- Environment-scoped classloader isolation
- Custom repository support with
:repos - Introspection via
(env-classpath)
See docs/dynamic-classpath.md for full documentation.
Console Abstraction
Unified styled I/O operations across CLI and REPL modes:
- New
Consoleinterface withPlainConsoleandJLineConsoleimplementations - Single
*console*binding replaces*stdout*,*stdin*,*terminal*,*color-enabled* - Semantic output methods:
printHeader(),printError(),printWarning(),printSuccess() - Colored output in REPL, plain text in scripts/tests
Breaking Changes
*stdout*,*stdin*bindings removed - use*console*instead*terminal*,*color-enabled*bindings removed from REPL
Full Changelog: v2.1.0...v2.2.0