3
respostas

Failed to instantiate SLF4J LoggerFactory

Boa noite, estou fazendo bonitinho como no vídeo e adaptando o comando para a versão que tenho: C:\Program Files\apache-activemq-5.17.0\Oi>java -cp activemq-all-5.17.0.jar;aula-jms.jar br.com.caelum.TesteMensageria consome

Mas na hora que dou o enter aparece: Failed to instantiate SLF4J LoggerFactory Reported exception: java.lang.NoClassDefFoundError: org/apache/logging/log4j/spi/AbstractLoggerAdapter at java.base/java.lang.ClassLoader.defineClass1(Native Method) at java.base/java.lang.ClassLoader.defineCl.....

Se eu tiro o consome a mensagem de retorno é: use "envia" ou "consome" como parametro

Uso windows 10 e não tenho ideia do que pode estar errado

3 respostas

Já resolveu?

Senão, posta a Exception ou pelo menos o "Caused by: " da Exception.

Pela mensagem, a aplicação não consegue encontrar as classes do Log4J, lib de logs.

Boa tarde, estou com o mesmo problema aqui. Windows 10 com java 11.

Failed to instantiate SLF4J LoggerFactory Reported exception: java.lang.NoClassDefFoundError: org/apache/logging/log4j/spi/AbstractLoggerAdapter at java.base/java.lang.ClassLoader.defineClass1(Native Method) ... at org.slf4j.impl.StaticLoggerBinder.(StaticLoggerBinder.java:36) at org.slf4j.LoggerFactory.bind(LoggerFactory.java:150) at org.slf4j.LoggerFactory.performInitialization(LoggerFactory.java:124) at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:417) at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:362) at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:388) ... at java.naming/javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:730) at java.naming/javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:305) at java.naming/javax.naming.InitialContext.init(InitialContext.java:236) at java.naming/javax.naming.InitialContext.(InitialContext.java:208) at br.com.caelum.ConectorJms.createInitialContext(ConectorJms.java:78) at br.com.caelum.ConectorJms.(ConectorJms.java:30) at br.com.caelum.TesteMensageria.main(TesteMensageria.java:13) Caused by: java.lang.ClassNotFoundException: org.apache.logging.log4j.spi.AbstractLoggerAdapter at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) ... 26 more Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/logging/log4j/spi/AbstractLoggerAdapter at java.base/java.lang.ClassLoader.defineClass1(Native Method) at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1016) at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174) at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:800) at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:698) at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:621) at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:579) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) at org.slf4j.impl.StaticLoggerBinder.(StaticLoggerBinder.java:36) at org.slf4j.LoggerFactory.bind(LoggerFactory.java:150) at org.slf4j.LoggerFactory.performInitialization(LoggerFactory.java:124) at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:417) at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:362) at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:388) at org.apache.activemq.ActiveMQConnectionFactory.(ActiveMQConnectionFactory.java:62) at org.apache.activemq.jndi.ActiveMQInitialContextFactory.createConnectionFactory(ActiveMQInitialContextFactory.java:207) at org.apache.activemq.jndi.ActiveMQInitialContextFactory.createConnectionFactory(ActiveMQInitialContextFactory.java:146) at org.apache.activemq.jndi.ActiveMQInitialContextFactory.getInitialContext(ActiveMQInitialContextFactory.java:65) at java.naming/javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:730) at java.naming/javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:305) at java.naming/javax.naming.InitialContext.init(InitialContext.java:236) at java.naming/javax.naming.InitialContext.(InitialContext.java:208) at br.com.caelum.ConectorJms.createInitialContext(ConectorJms.java:78) at br.com.caelum.ConectorJms.(ConectorJms.java:30) at br.com.caelum.TesteMensageria.main(TesteMensageria.java:13) Caused by: java.lang.ClassNotFoundException: org.apache.logging.log4j.spi.AbstractLoggerAdapter at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) ... 26 more

A versão 5.17 do ActiveMQ esta como suportada apenas para versões java 11+. Link de Download ActiveMQ: https://activemq.apache.org/components/classic/download/

Fiz uns testes, consegui rodar e consumir conforme aula. Usei o Java 8 e utilizei o ActiveMQ 5.12, disponibilizado na página da aula. Testei o ActiveMQ versão 5.16 do link de download, acima que suporta Java 8, também executou e consumiu. Não testei com outra versão de Java.

Esse curso é mais antigo, para conseguir seguir as aulas sem problemas pode ser necessário usar o Java 8.

$ java -cp activemq-all-5.12.0.jar:aula-jms.jar br.com.caelum.TesteMensageria consome
Aperte enter para finalizar
Recebendo mensagem: Teste 1
Recebendo mensagem: Teste 2