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.
Last updated on APRIL 06, 2018
Applies to:
Oracle WebLogic Server - Version 10.0 to 12.1.1.0Information in this document applies to any platform.
Symptoms
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.
Changes
Upgraded from wls 8.1 to wls 10.3.4
Cause
Sign In with your My Oracle Support account |
|
Don't have a My Oracle Support account? Click to get started |
My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms