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
Look how they massacred my boy (Apache Commons Lang)
How to deal with commons-lang3 recent upgrade?
Critical: commons-lang2.6 to commons-lang3 Migration - Dependency Conflict with SmartClient Framework - SmartClient Forums
Upgrading commons.lang to commons.lang3
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