commons-lang 2.x를 쓰다가 commons-lang 3.x 으로 바꿀 때 유의할 사항은 common-lang 3.x는 더이상 하위버전을 지원하지 않는다. 그래서 과거에 한번 장애를 맞이한적이 있었다.

또한 commons-lang 3.x에서는 명시적으로 과거와 다른 패키지임을 나타내기 위해서 org.apache.commons.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.

The big story

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 have also removed some features that were deemed weak or unnecessary. All of this means that Lang 3.0 is not backwards compatible.

To that end we have changed the package name, allowing Lang 3.0 to sit side-by-side with your previous version of Lang without any bad side effects. The new package name is the exciting and originalorg.apache.commons.lang3. This also forces you to recompile your code, making sure the compiler can let you know if a backwards incompatibility affects you.

As you'd expect, there are also new features, enhancements and bugs fixed.

Posted by '김용환'