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

Popular posts from this blog

c++ - Convert big endian to little endian when reading from a binary file -

C#: Application without a window or taskbar item (background app) that can still use Console.WriteLine() -

unicode - Are email addresses allowed to contain non-alphanumeric characters? -