It's been already 4 months since JDK17 was released, but Guice (one of the most popular Java dependency injection frameworks) still didn't release required compatibility changes [1]. There looks to be zero contact with maintainers at Google. In the meantime Spring was ready for JDK17 in July (3 months before JDK17 GA) [2]<p>For years I advocated to use Guice at my companies, as it's considerably less bloated than Spring. Now I'm starting to get some heat on this as it's clear that the support is just not there. Is this the right time to accept the defeat and start migrating back to Spring?<p>[1]
https://github.com/google/guice/issues/1536
[2] https://twitter.com/snicoll/status/1420652097373188100
I work on the team that maintains Guice and we are working on a new release. And no, Guice is not abandonware since it is widely used inside Google. As part of this new release, we will be making some changes to the build setup so hopeful future releases will occur more frequently.
Guice is pretty old now, like 12 years or so. That's a pretty good run for a programming library, and wouldn't put that in the same class of abandonment as other Google shutdowns.
Guice forms a core part of many of Google's internal Java frameworks, so it's unlikely to be deprecated anytime soon.<p>However, Google only upgraded to JDK11 in 2021, so there's probably not much internal pressure yet to keep Guice up to date with JDK17.
If you're just concerned about dependency injection there's also the CDI standard way of doing things where there are multiple implementations to choose from.<p>If you're concerned about bloat you could look into Quarkus. There's a CDI implementation there combined with a really slick and fast runtime.
Hasn't Google Guice been superseded by Google Dagger? [1] As far as I know Guice seemed to be in maintenance mode for quite a while now.<p>[1] <a href="https://github.com/google/dagger" rel="nofollow">https://github.com/google/dagger</a>