java - Unable to initialize log4j -
i'm trying initialize log4j-1.2.8 application creating listener class implemented applicationlifecyclelistener of weblogic 9.2. when deploy application, i'm getting following exceptions:
java.lang.noclassdeffounderror: org/apache/log4j/spi/repositoryselector @ java.lang.classloader.defineclass1(native method) @ java.lang.classloader.defineclass(classloader.java:620) @ java.security.secureclassloader.defineclass(secureclassloader.java:124) @ weblogic.utils.classloaders.genericclassloader.defineclass(genericclassloader.java:338) @ weblogic.utils.classloaders.genericclassloader.findlocalclass(genericclassloader.java:291) @ weblogic.utils.classloaders.genericclassloader.findclass(genericclassloader.java:259) @ java.lang.classloader.loadclass(classloader.java:306) @ java.lang.classloader.loadclass(classloader.java:251) @ weblogic.utils.classloaders.genericclassloader.loadclass(genericclassloader.java:158) @ java.lang.classloader.loadclassinternal(classloader.java:319) @ myapp.loggerstartupservice.prestart(loggerstartupservice.java:40) @ weblogic.application.internal.flow.baselifecycleflow$prestartaction.run(baselifecycleflow.java:187) @ weblogic.security.acl.internal.authenticatedsubject.doas(authenticatedsubject.java:321) @ weblogic.security.service.securitymanager.runas(securitymanager.java:121) @ weblogic.application.internal.flow.baselifecycleflow$baseaction.invoke(baselifecycleflow.java:95) @ weblogic.application.internal.flow.baselifecycleflow.prestart(baselifecycleflow.java:53) @ weblogic.application.internal.flow.headlifecycleflow.prepare(headlifecycleflow.java:199) @ weblogic.application.internal.basedeployment$1.next(basedeployment.java:615) @ weblogic.application.utils.statemachinedriver.nextstate(statemachinedriver.java:26) @ weblogic.application.internal.basedeployment.prepare(basedeployment.java:191) @ weblogic.application.internal.deploymentstatechecker.prepare(deploymentstatechecker.java:147) @ weblogic.deploy.internal.targetserver.appcontainerinvoker.prepare(appcontainerinvoker.java:61) @ weblogic.deploy.internal.targetserver.operations.activateoperation.createandpreparecontainer(activateoperation.java:189) @ weblogic.deploy.internal.targetserver.operations.activateoperation.doprepare(activateoperation.java:87) @ weblogic.deploy.internal.targetserver.operations.abstractoperation.prepare(abstractoperation.java:217) @ weblogic.deploy.internal.targetserver.deploymentmanager.handledeploymentprepare(deploymentmanager.java:718) @ weblogic.deploy.internal.targetserver.deploymentmanager.preparedeploymentlist(deploymentmanager.java:1185) @ weblogic.deploy.internal.targetserver.deploymentmanager.handleprepare(deploymentmanager.java:247) @ weblogic.deploy.internal.targetserver.deploymentservicedispatcher.prepare(deploymentservicedispatcher.java:157) @ weblogic.deploy.service.internal.targetserver.deploymentreceivercallbackdeliverer.dopreparecallback(deploymentreceivercallbackdeliverer.java:157) @ weblogic.deploy.service.internal.targetserver.deploymentreceivercallbackdeliverer.access$000(deploymentreceivercallbackdeliverer.java:12) @ weblogic.deploy.service.internal.targetserver.deploymentreceivercallbackdeliverer$1.run(deploymentreceivercallbackdeliverer.java:45) @ weblogic.work.serverworkmanagerimpl$workadapterimpl.run(serverworkmanagerimpl.java:518) @ weblogic.work.executethread.execute(executethread.java:209) @ weblogic.work.executethread.run(executethread.java:181)
where myapp.loggerstartupservice
class implemented applicationlifecyclelistener
.
i checked classpath in scripts , set dependencies required log4j. appenders & categories there in log4j.xml. looks i'm missing something. ideas on problem may be?
java.lang.noclassdeffounderror: org/apache/log4j/spi/repositoryselector
this means in message mentioned class missing in classpath during runtime (while available during compiletime of calling class in question, that's difference classnotfoundexception
).
as used log4j itself, it's missing in log4j jar file. repositoryselector
javadoc learns it's introduced in log4j 1.2. mean there's collision , older-versioned log4j jar file in classpath got precedence in classloading. it's somewhere hidden in 1 of default classpaths of weblogic. don't weblogic, hinted others, can try change classloading order, if it's supported weblogic. consult documentation.
Comments
Post a Comment