classloader - Class Loader looking for wrong package class -
i have 2 application (say app1 & app2) on tomcat server. both having esapi-2.0-rc5.jar in c:\tomcat7_0_29\webapps\appx\web-inf\lib folder. app2 using opensaml-2.6.0.jar (inside c:\tomcat7_0_29\webapps\app2\web-inf\lib folder) saml needs.
now each time when seek encode field info in app1, getting java.lang.classnotfoundexception: org.opensaml.esapisecurityconfig
error. tried many options , never working together. please help
full stack trace:
org.owasp.esapi.errors.configurationexception: java.lang.classnotfoundexception: org.opensaml.esapisecurityconfig securityconfiguration class (org.opensaml.esapisecurityconfig) must in class path. @ org.owasp.esapi.util.objfactory.make(objfactory.java:113) @ org.owasp.esapi.esapi.securityconfiguration(esapi.java:445) @ org.owasp.esapi.esapi.encoder(esapi.java:208) @ xxx.xxx.xxxx.xx.removebadchars(baseobject.java:131) @ xxx.xxx.xxxx.xx.convert(claimsutil.java:45) @ javax.servlet.http.httpservlet.service(httpservlet.java:641) @ javax.servlet.http.httpservlet.service(httpservlet.java:722) @ org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:305) @ org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:210) @ org.apache.catalina.core.standardwrappervalve.invoke(standardwrappervalve.java:225) @ org.apache.catalina.core.standardcontextvalve.invoke(standardcontextvalve.java:123) @ org.apache.catalina.authenticator.authenticatorbase.invoke(authenticatorbase.java:472) @ org.apache.catalina.core.standardhostvalve.invoke(standardhostvalve.java:168) @ org.apache.catalina.valves.errorreportvalve.invoke(errorreportvalve.java:98) @ org.apache.catalina.valves.accesslogvalve.invoke(accesslogvalve.java:927) @ org.apache.catalina.core.standardenginevalve.invoke(standardenginevalve.java:118) @ org.apache.catalina.connector.coyoteadapter.service(coyoteadapter.java:407) @ org.apache.coyote.http11.abstracthttp11processor.process(abstracthttp11processor.java:1001) @ org.apache.coyote.abstractprotocol$abstractconnectionhandler.process(abstractprotocol.java:585) @ org.apache.tomcat.util.net.jioendpoint$socketprocessor.run(jioendpoint.java:310) @ java.util.concurrent.threadpoolexecutor.runworker(unknown source) @ java.util.concurrent.threadpoolexecutor$worker.run(unknown source) @ java.lang.thread.run(unknown source) caused by: java.lang.classnotfoundexception: org.opensaml.esapisecurityconfig @ org.apache.catalina.loader.webappclassloader.loadclass(webappclassloader.java:1711) @ org.apache.catalina.loader.webappclassloader.loadclass(webappclassloader.java:1556) @ java.lang.class.forname0(native method) @ java.lang.class.forname(unknown source) @ org.owasp.esapi.util.objfactory.make(objfactory.java:85) ... 24 more
check ensure opensaml's library on class path. if simple solution isn't case...
have @ maven repo recent release of opensaml:
http://mvnrepository.com/artifact/org.opensaml/opensaml/2.6.1
it looks opensaml library has dependency on esapi 2.0.1, , happening esapi-2.0-rc5.jar
gets loaded before opensaml's dependency. guidance that's possible can't clone environment, seek downloading source opensaml, , build after updating dependency management point version of esapi.
classloader opensaml esapi
No comments:
Post a Comment