His original statement that Guice brings in Spring (through transitive dependencies) is a complete falsehood. Check it out yourself in the Maven repo -- I just did, or roll up a simple project and see what it brings in. Both Guice and Guava are very lightweight libraries and don't bring in many transitive dependencies, if any. If they did, they would not be popular at all. Library developers are highly aware of the need to keep dependency trees light and minimal -- and you do a disservice by spreading around these false statements.
"A few months ago I decided to update Guice to the latest version. But the latest version depends on another framework, Guava. Guava requires JavaX. JavaX requires Spring. Spring requires..."
Sorry, what? That sounds so crazy that I wanted to check it out for myself. I looked at the dependencies of Guava from the maven repository and don't see any evidence that there is a transitive dependency that brings in Spring (or JavaX -- do you mean the jsr's in the javax.inject package?). In fact, all four of Guava's dependencies are optional:
His original statement that Guice brings in Spring (through transitive dependencies) is a complete falsehood. Check it out yourself in the Maven repo -- I just did, or roll up a simple project and see what it brings in. Both Guice and Guava are very lightweight libraries and don't bring in many transitive dependencies, if any. If they did, they would not be popular at all. Library developers are highly aware of the need to keep dependency trees light and minimal -- and you do a disservice by spreading around these false statements.
"A few months ago I decided to update Guice to the latest version. But the latest version depends on another framework, Guava. Guava requires JavaX. JavaX requires Spring. Spring requires..."
Sorry, what? That sounds so crazy that I wanted to check it out for myself. I looked at the dependencies of Guava from the maven repository and don't see any evidence that there is a transitive dependency that brings in Spring (or JavaX -- do you mean the jsr's in the javax.inject package?). In fact, all four of Guava's dependencies are optional:
https://mvnrepository.com/artifact/com.google.guava/guava/19.0
Don't pass around false statements like this because developers take great care not to create these sorts of situations.