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 126.96.36.199
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.
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