We recently deployed a web application on WAS. The web app was purchased from a vendor. As part of the implementation we needed to integrate the web app with eDirectory LDAP services. In order accomplish that integration we developed a custom JAAS login module. We ended up using the vendor supplied Principal class in our JAAS module.
Our JAAS module is deployed to a shared library within WAS. When we first deployed the JAAS module we were getting NoClassDefFoundError. In order to resolved the issue we cracked open the web app EAR, extracted the JAR containing the vendor supplied Principal class, and deployed that JAR to the shared library.
My question is... Why did we have to deploy the vendor JAR to the shared library to make it work? Why couldn't it find the class in the JAR file that was deployed with the web app? Could we have done this differently without cracking open the EAR, extracting the JAR, and placing it in a shared library?