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

Answer from Adrian Shum on Stack Overflow
🌐
Google Groups
groups.google.com › g › ivyroundup › c › U01MfmXxOUA
Apache commons lang and lang3
Note that Lang 3.0 (and subsequent versions) use a different package (org.apache.commons.lang3) than the previous versions (org.apache.commons.lang), allowing it to be used at the same time as an earlier version.
Discussions

Upgrade to Apache commons-lang3 instead of commons-lang
Apache commons-lang3 was designed to be able to live side-by-side with commons-lang, but it is extra bloat and mostly redundant to have both, and, having commons-lang alone I assume is more limited. I think most teams moving forward woul... More on github.com
🌐 github.com
4
February 23, 2017
Look how they massacred my boy (Apache Commons Lang)
Please mark this NSFW, I wasn’t ready for this More on reddit.com
🌐 r/java
160
405
August 21, 2025
Critical: commons-lang2.6 to commons-lang3 Migration - Dependency Conflict with SmartClient Framework - SmartClient Forums
We are currently using SmartClient Version: v12.0p_2020-08-08/PowerEdition. Background: As part of our ongoing security enhancement initiatives, we have recently completed a comprehensive migration of our application dependencies from commons-lang version 2.6 to commons-lang3. More on forums.smartclient.com
🌐 forums.smartclient.com
July 28, 2025
How to deal with commons-lang3 recent upgrade?
Hi everyone, a new version of Apache Commons Lang3 have been released recently which brings breaking changes for XWiki and so we need to decide how to deal with them. Quite a few StringUtils APIs have been deprecated in favor of using a new Strings.CI or Strings.CS (CI for Case Insensitive ... More on forum.xwiki.org
🌐 forum.xwiki.org
0
July 15, 2025
🌐
Apache Commons
commons.apache.org › proper › commons-lang › article3_0.html
What's new in Commons Lang 3.0? – Apache Commons Lang
November 12, 2025 - Commons Lang 3.0 is out, and the obvious question is: "So what? What's changed?" · Lang is now Java 5 based. We've generified the API, moved certain APIs to support varargs and thrown out any features that are now supported by Java itself. We've removed the deprecated parts of the API and ...
🌐
GitHub
github.com › feedzai › pdb › issues › 51
Upgrade to Apache commons-lang3 instead of commons-lang · Issue #51 · feedzai/pdb
February 23, 2017 - Apache commons-lang3 was designed to be able to live side-by-side with commons-lang, but it is extra bloat and mostly redundant to have both, and, having commons-lang alone I assume is more limited. I think most teams moving forward woul...
Published   Feb 23, 2017
🌐
DZone
dzone.com › data engineering › data › apache commons lang stringutils
Apache Commons Lang StringUtils
May 5, 2012 - StringUtils is part of Apache Commons Lang (http://commons.apache.org/lang/, and as the name suggest it provides some nice utilities for dealing with Strings, going beyond what is offered in java.lang.String. It consists of over 50 static methods, and I'm not going to cover every single one of them, just a selection of methods that I make the most use of. There are two different versions available, the newer org.apache.commons.lang3.StringUtils and the older org.apache.commons.lang.StringUtils.
🌐
Reddit
reddit.com › r/java › look how they massacred my boy (apache commons lang)
r/java on Reddit: Look how they massacred my boy (Apache Commons Lang)
August 21, 2025 -

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

🌐
Apache Commons
commons.apache.org › lang
Home – Apache Commons Lang
November 12, 2025 - The standard Java libraries fail to provide enough methods for manipulation of its core classes. Apache Commons Lang provides these extra methods · Apache Commons Lang provides a host of helper utilities for the java.lang API, notably String manipulation methods, basic numerical methods, object ...
🌐
Baeldung
baeldung.com › home › java › java string › an introduction to apache commons lang 3
An Introduction to Apache Commons Lang 3 | Baeldung
January 8, 2024 - The Apache Commons Lang 3 library is a popular, full-featured package of utility classes, aimed at extending the functionality of the Java API.
Find elsewhere
🌐
SmartClient Forums
forums.smartclient.com › forum › technical-q-a › 276121-critical-commons-lang2-6-to-commons-lang3-migration-dependency-conflict-with-smartclient-framework
Critical: commons-lang2.6 to commons-lang3 Migration - Dependency Conflict with SmartClient Framework - SmartClient Forums
July 28, 2025 - SmartClient 12.0 requires commons-lang2.6 and is not vulnerable to any of the CVEs related to commons-lang. So the remedy is to put the .jar back - you weren't vulnerable in the first place. SmartClient 15.0, not due out for a while, does use commons-lang3.
🌐
XWiki
forum.xwiki.org › development
How to deal with commons-lang3 recent upgrade? - Development - XWiki Forum
July 15, 2025 - Hi everyone, a new version of Apache Commons Lang3 have been released recently which brings breaking changes for XWiki and so we need to decide how to deal with them. Quite a few StringUtils APIs have been deprecated in favor of using a new Strings.CI or Strings.CS (CI for Case Insensitive and respectively CS for Case Sensitive) singleton instance with those methods.
🌐
Rssing
apache1643.rssing.com › chan-75644757 › index-page1.html
Apache Commons Lang 2 vs 3 - Stack Overflow
June 11, 2014 - Due to incompatibility of Lang2 and Lang3, the package is intentionally changed from com.apache.commons.lang to com.apache.commons.lang3 so that you... View Article · :0 · :0 June 11, 2014, 2:19 am · In my application I'm using apache commons Lang v.3. A requried library give my a java.lang.ClassNotFoundException: org.apache.commons.lang.StringUtils Is there a build translation between...
🌐
GitHub
github.com › eclipse › smarthome › issues › 3522
Upgrading commons.lang to commons.lang3 · Issue #3522
February 6, 2017 - Commons lang broke backwards compatibility (by switching package structure) to include support for Java 5... Lang is now Java 5 based. We've generified the API, moved certain APIs to support varargs and thrown out any features that are now supported ...
Published   May 26, 2017
🌐
StackShare
stackshare.io › maven-org-apache-commons-commons-lang3 › alternatives
Best org.apache.commons:commons-lang3 Alternatives in ...
1,031 stacks0 votes1 followersCompare org.apache.commons:commons-lang3 vs org.springframework.boot:spring-boot-starter-security → ... Commons Lang, a package of Java utility classes for the classes that are in java.lang's hierarchy, or are considered to be so standard as to justify existence in java.lang.
🌐
Javadoc.io
javadoc.io › doc › org.apache.commons › commons-lang3 › latest › index.html
commons-lang3 3.20.0 javadoc (org.apache.commons)
Latest version of org.apache.commons:commons-lang3 · https://javadoc.io/doc/org.apache.commons/commons-lang3 · Current version 3.20.0 · https://javadoc.io/doc/org.apache.commons/commons-lang3/3.20.0 · package-list path (used for javadoc generation -link option) https://javadoc.io/doc/o...
🌐
Maven Repository
mvnrepository.com › artifact › org.apache.commons › commons-lang3
Maven Repository: org.apache.commons » commons-lang3
November 12, 2025 - Apache Commons Lang, a package of Java utility classes for the classes that are in java.lang's hierarchy, or are considered to be so standard as to justify existence in java.lang.
🌐
YouTube
youtube.com › watch
Apache commons lang 3 String Util class features - YouTube
isblank, isempty, isAlphanumeric, isAlpha, isUppercase, islowercaseall string utility methods available in StringUtils
Published   December 31, 2019
🌐
DevGenius
blog.devgenius.io › how-to-fix-commons-lang-package-does-not-exist-error-db4051b8a46b
How to fix Commons Lang “Package Does Not Exist” Error | by Tremaine Eto | Dev Genius
December 12, 2021 - import static org.apache.commons.lang3.StringUtils.isBlank; import static org.apache.commons.lang3.StringUtils.isNotBlank; Your app should now build. Basically, Commons Lang 3.x brought in this new package naming with the 3 in lang3. More details on that as well as what else changed from 2.x to 3.x are here.
🌐
Maven Central Repository
search.maven.org › org.apache.commons › commons-lang3 › 3.9
org.apache.commons:commons-lang3:3.9
Apache Commons Lang, a package of Java utility classes for the classes that are in java.lang's hierarchy, or are considered to be so standard as to justify existence in java.lang. ... <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.9</version> ...
🌐
Haiyong
haiyong.site › doc › commons-lang3-3.3.2 › apidocs › index.html
Apache Commons Lang 3.3.2 API
JavaScript is disabled on your browser · Frame Alert · This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client. Link to Non-frame version
🌐
Javadoc.io
javadoc.io › static › org.apache.commons › commons-lang3 › 3.0 › org › apache › commons › lang3 › text › package-summary.html
org.apache.commons.lang3.text (Commons Lang 3.0 API)
Interface Summary FormatFactory Format factory · Class Summary CompositeFormat Formats using one formatter and parses using a different formatter. ExtendedMessageFormat Extends java.text.MessageFormat to allow pluggable/additional formatting options for embedded format elements.