Seriously, what madness drove the commons lang contributors to deprecate StringUtils.equals()?
I'm gonna rant for a bit here. It's been a long day.
I spend all morning in an incident call, finally get time to do some coding in the afternoon.
I make progress on a bug fix, clean up some dead code like a good boy scout, and I’m feeling like I actually accomplished something today.
Oh, this service is getting flagged for CVE-2025-48924? Let me take care of that.
And then, confusion. Anger.
Deprecated method? StringUtils.equals()? That can't be.
Sure as shit, they deprecated it. Let's see what has been replaced with.
Strings.CS.equals()? Is that character sequence? No, it's case sensitive. Fucking hell. I harp on juniors for their silly acronyms. Did not expect to see them in a library like this. Just unnecessary. If Java developers had a problem with verbosity, well, they wouldn't be Java developers.
I'll admit I've been an open-source leech, contributing nothing to the community, but this one has lit a fire in me.
If this issue isn't resolved, are there any volunteers to help with a fork? I feel like common-sense-lang3 would be an appropriate name for an alternative.
https://issues.apache.org/jira/projects/LANG/issues/LANG-1777?filter=allopenissues
Try running the following commands and examine the output:
$ mvn dependency:tree
$ mvn help:effective-pom
Look for commons-lang, maybe something will draw your attention like excludes or dependency overrides. Also, is:
$ mvn dependency:copy-dependencies
copying commons-lang JAR to your target?
Adding following dependency to pom.xml in dependencies tag helped me:
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.1</version>
</dependency>