You can have both Lang2 and Lang3 in your classpath. Due to incompatibility of Lang2 and Lang3, the package is intentionally changed from org.apache.commons.lang to org.apache.commons.lang3 so that you can have both version in classpath without conflict
Upgrade to Apache commons-lang3 instead of commons-lang
Look how they massacred my boy (Apache Commons Lang)
Critical: commons-lang2.6 to commons-lang3 Migration - Dependency Conflict with SmartClient Framework - SmartClient Forums
How to deal with commons-lang3 recent upgrade?
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