Search code examples
jakarta-eeweblogicapplication-server

Weblogic server lib VS instance libext


I use weblogic 10. Its provide an Oracle JDBC driver 10.2.0.2 (in the server/lib on weblogic home).

Actually someone at work put a long time ago a 10.2.0.3 driver in instance libext folder.

But in production we got a jdbc driver stack (nullpointer :O) and by reverse engineering it seems we are using driver 10.2.0.2.

We know that we could change the driver in the server/lib of weblogic but i want to understand.

Isn't libext supposed to override server libs like META-INF libs override libext?

By the way we are in a strange situation: - We have 2 EAR, and for the exact same treatment in those 2, one will sometime throw the oracle driver nullpointer while the other doesn't - I wonder if one ear isn't using 10.2.0.2 while the other is using 10.2.0.3 (i saw a bug fixed that could fit to our problem for this version). - I need to look better but at first sight both ear use the exact same datasource set in weblogic JNDI resources

Any idea?


Solution

  • No one should be putting anything into the lib/ext directory, especially not JDBC driver JARs. That directory is for library extensions. I'd remove that JAR from lib/ext immediately.

    As you say, if the 10.2.0.3 version is a bug fix, the correct place to put it would be server/lib, not lib/ext.

    Two EARs means two separate servers or two different ports? I'm not sure why WebLogic would pick one driver up over the other for the same configuration.