javamavenweblogicweblogic11gapache-commons-lang

Commons-lang-2.6.jar and FilteringClassLoader Issue


This is in continuation of Despite having commons-lang included in pom, getting exception java.lang.NoSuchMethodError:org.apache.commons.lang.StringUtils.join I have the following in weblogic-application.xml

<?xml version="1.0" encoding="UTF-8"?>
<weblogic-application>
    <prefer-application-packages>
        <package-name>commons-lang.*</package-name>
    </prefer-application-packages>
</weblogic-application>

However I am still getting

Root cause of ServletException.
java.lang.NoSuchMethodError:  org.apache.commons.lang.StringUtils.join
(Ljava/util/Collection;Ljava/lang/String;)Ljava/lang/String;

How come classloader filtering is not able to detect jar mentioned in

weblogic-application.xml

Solution

  • <package-name>commons-lang.*</package-name> does not look valid. commons-lang is the artifact ID of the library, not a valid package.

    Replace this by something like <package-name>org.apache.commons.*</package-name> or <package-name>org.apache.commons.lang.*</package-name> and it should world correctly.