My Oracle Support Banner

WebLogic Server Classloader is not following Class-Path entries in the manifest files of JAR or WAR files to locate the class to be loaded. (Doc ID 1498095.1)

Last updated on AUGUST 27, 2020

Applies to:

Oracle WebLogic Server - Version 10.0 to
Information in this document applies to any platform.


 When upgrading  enterprise application from WLS 8.1 to WLS 11g. The ear contains a web project along with an ejb. EAR contains multiple libraries which are segregated into different folders like lib, lib-ext. lib-cust etc. EJB jar internally contains MANIFEST.MF which specifies the order in which jars to be loaded by class-loader. This loading is working perfect with WLS 8.1 but after upgrading to WLS 11g, we see that classes/jars are always getting loaded first from lib and then from lib-cust, even if the order in MANIFEST.MF file is reverse.

e.g. If there is class test, which is available in two different jars testLib.jar and testLibCust.jar. testLib.jar is available in EAR/lib folder where as testLibCust.jar is available in EAR/lib-cust folder.
EAR/EJB/MANIFEST.MF file specifies the order as lib-cust/testLibCust.jar and then lib/testLib.jar.
"Class-Path: lib-cust/testLibCust.jar lib/testLib.jar"


on the run-time extected is that app server should load lib-cust/testLibCust.jar as mentioned in MANIFEST.MF file but it is loading lib/testLib.jar.

This was not the case with WLS 8.1 whose Classloader loads per the ordering of Class-path entries.


 Upgraded from wls 8.1 to wls 10.3.4


To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!

In this Document

My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.