Chapter 6, Advanced Topics

Third-party JARs loaded by system class loader (CR #397598) If you specify third-party JARs in the CLASSPATH or BOOTCLASSPATH in setenv.sh, they are loaded by the EAServer system class loader. If any class within these JARs calls getClassLoader, it returns null. If any class within these JARs calls JNI, the JVM ignores this and searches only sun.boot.library.path. The problem is that third-party JARs are typically installed outside the EAServer installation. In EAServer 5.3, JARs cannot be loaded by the server class loader, unless they are in $JAGUAR/java/lib, $JAGUAR/html/classes, or $JAGUAR/java/classes.

Workaround Put third-party JARs in the $JAGUAR/java/classes directory, and add "com.sybase.jaguar.server.java.classes=third_party_library.jar" to $JAGUAR/Repository/Server/Jaguar.props. This allows the server class loader, instead of the system class loader, to load the third-party JARs