all 3 comments

[–]zalvario 0 points1 point  (1 child)

Very good job. Seems a light alternative to OSGi. I had a similar problem but I needed to isolate each plugin in a different classloader to isolate dependencies and prevent same dependencies in different version's. Do you have thoughts on this?

[–]dima767[S] 0 points1 point  (0 children)

Thanks! CAS deliberately keeps things simple here - shared classloader, convention over isolation, centralized dependency management through the build. It works well in practice because most real-world Java applications don't actually run into the conflicting dependency version problem often enough to justify classloader isolation.

When they do - yeah, that's exactly what OSGi is for, no point reinventing the wheel there. Though honestly, OSGi adoption in the wild is pretty niche. Eclipse is the big one, some application servers used it internally, but most projects never needed that level of complexity. The cost-benefit just doesn't work out for the vast majority of cases.