java.lang.NoClassDefFoundError: org/apache/log4j/Level - slf4j?
Solution 1
The answer is: I am deploying to the Adminserver, but I have to deploy my application to a clustor, because the ClassPath and the Arguments setting in the ServerStart will not work only on Adminserver, it will only on others.
Solution 2
Generally, because this is maven releated question then attach your pom.xml (or part of it). This is better than attaching screenshots :)
Your log4j dependency has scope provided, this mean than log4j is already on your server and SHOULD NOT be installed with application.
Related videos on Youtube
victorio
Updated on June 04, 2022Comments
-
victorio almost 2 years
I am trying to deploy my application, but it gives me an error: Failed to instantiate SLF4J LoggerFactory Reported exception:
java.lang.NoClassDefFoundError: org/apache/log4j/Level at org.slf4j.impl.StaticLoggerBinder.<init>(StaticLoggerBinder.java:75) at org.slf4j.impl.StaticLoggerBinder.<clinit>(StaticLoggerBinder.java:45) at org.slf4j.LoggerFactory.bind(LoggerFactory.java:128) at org.slf4j.LoggerFactory.performInitialization(LoggerFactory.java:107) at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:295) at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:269) at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:281) at org.hibernate.cfg.Configuration.<clinit>(Configuration.java:197) at org.hibernate.ejb.Ejb3Configuration.<clinit>(Ejb3Configuration.java:133) at org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:72) at weblogic.persistence.BasePersistenceUnitInfo.initializeEntityManagerFactory(BasePersistenceUnitInfo.java:452) at weblogic.persistence.BasePersistenceUnitInfo.initializeEntityManagerFactory(BasePersistenceUnitInfo.java:445) at weblogic.persistence.BasePersistenceUnitInfo.init(BasePersistenceUnitInfo.java:119) at weblogic.persistence.BaseJPAIntegrationProvider.createPersistenceUnitInfo(BaseJPAIntegrationProvider.java:53) at weblogic.persistence.AbstractPersistenceUnitRegistry.storeDescriptors(AbstractPersistenceUnitRegistry.java:420) at weblogic.persistence.AbstractPersistenceUnitRegistry.loadPersistenceDescriptor(AbstractPersistenceUnitRegistry.java:339) at weblogic.persistence.ModulePersistenceUnitRegistry.<init>(ModulePersistenceUnitRegistry.java:67) at weblogic.ejb.container.deployer.EJBModule.setupPersistenceUnitRegistry(EJBModule.java:190) at weblogic.ejb.container.deployer.EJBModule$1.execute(EJBModule.java:297) at weblogic.persistence.PersistenceUnitRegistryInitializer.setupPersistenceUnitRegistries(PersistenceUnitRegistryInitializer.java:62) at weblogic.ejb.container.deployer.EJBModule.prepare(EJBModule.java:394) at weblogic.application.internal.ExtensibleModuleWrapper$PrepareStateChange.next(ExtensibleModuleWrapper.java:295) at weblogic.application.internal.ExtensibleModuleWrapper$PrepareStateChange.next(ExtensibleModuleWrapper.java:285) at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:42) at weblogic.application.internal.ExtensibleModuleWrapper.prepare(ExtensibleModuleWrapper.java:109) at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:100) at weblogic.application.internal.flow.ModuleStateDriver$1.next(ModuleStateDriver.java:172) at weblogic.application.internal.flow.ModuleStateDriver$1.next(ModuleStateDriver.java:167) at weblogic.application.utils.StateMachineDriver$ParallelChange.run(StateMachineDriver.java:80) at weblogic.work.ContextWrap.run(ContextWrap.java:40) at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:550) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:295) at weblogic.work.ExecuteThread.run(ExecuteThread.java:254)
I have the jar-s in the Maven Dependences:
The classpath for the log4j jar in weblogic:
The log4j.xml (from classpath):
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"> <appender name="LOGFILE" class="org.apache.log4j.FileAppender"> <param name="File" value="C:\\Work\\KEPLER\\KH_RRM\\log/rrm-web.log" /> <param name="Append" value="false" /> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} [%t] %-5p [%c{1}] %m%n"/> </layout> </appender> <appender name="STDOUT" class="org.apache.log4j.ConsoleAppender"> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value=" %d{yyyy-MM-dd HH:mm:ss} [%t] %-5p [%c{1}] %m%n"/> </layout> </appender> <root> <priority value ="ALL" /> <appender-ref ref="STDOUT" /> <appender-ref ref="LOGFILE" /> </root> </log4j:configuration>
What do I wrong? I can't imagine... Please help me! Thanks!
-
Dave Newton over 10 yearsAre you sure it's actually provided?
-