Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Java 11 + ActiveMQ 5.15.14 = java.lang.NoClassDefFoundError: com/fasterxml/jackson/databind/ObjectMapper

Não consegui rodar o ActiveMQ na versão usada no curso (5.12.0) porque dá um erro que, acredito eu, tenha a ver com a versão do Java que eu utilizo (a 11.0.9.1). Tive que usar uma versão mais recente, e estou usando a 5.15.14.

Sigo as instruções das aulas rigorosamente. Estou na aula "02. Consumindo mensagens com JMS". Coloco o ActiveMQ pra rodar usando o comando no bash que a aula especifica. Mas, quando vou rodar o projeto no Eclipse, o console exibe o seguinte erro:

Exception in thread "main" java.lang.NoClassDefFoundError: com/fasterxml/jackson/databind/ObjectMapper
    at org.apache.activemq.broker.jmx.PersistenceAdapterView.<clinit>(PersistenceAdapterView.java:31)
    at org.apache.activemq.store.kahadb.KahaDBPersistenceAdapter.doStart(KahaDBPersistenceAdapter.java:235)
    at org.apache.activemq.util.ServiceSupport.start(ServiceSupport.java:55)
    at org.apache.activemq.broker.BrokerService.doStartPersistenceAdapter(BrokerService.java:693)
    at org.apache.activemq.broker.BrokerService.startPersistenceAdapter(BrokerService.java:677)
    at org.apache.activemq.broker.BrokerService.start(BrokerService.java:641)
    at org.apache.activemq.transport.vm.VMTransportFactory.doCompositeConnect(VMTransportFactory.java:127)
    at org.apache.activemq.transport.vm.VMTransportFactory.doConnect(VMTransportFactory.java:56)
    at org.apache.activemq.transport.TransportFactory.connect(TransportFactory.java:65)
    at org.apache.activemq.ActiveMQConnectionFactory.createTransport(ActiveMQConnectionFactory.java:331)
    at org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQConnectionFactory.java:346)
    at org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQConnectionFactory.java:304)
    at org.apache.activemq.ActiveMQConnectionFactory.createConnection(ActiveMQConnectionFactory.java:244)
    at br.com.caelum.jms.TesteConsumidor.main(TesteConsumidor.java:15)
Caused by: java.lang.ClassNotFoundException: com.fasterxml.jackson.databind.ObjectMapper
    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:522)
    ... 14 more

O que fazer?

1 resposta
solução!

Achei a resposta para isso em outro tópico: https://cursos.alura.com.br/forum/topico-java-lang-noclassdeffounderror-com-fasterxml-jackson-databind-objectmapper-100021

Para facilitar minha vida, transformei o projeto em um projeto Maven. O meu pom.xml ficou assim:

<project xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>br.com.caelum</groupId>
    <artifactId>TesteJms</artifactId>
    <version>0.0.1-SNAPSHOT</version>

    <dependencies>
        <dependency>
            <groupId>org.apache.activemq</groupId>
            <artifactId>activemq-all</artifactId>
            <version>5.15.14</version>
        </dependency>

        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-core</artifactId>
            <version>2.12.1</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.12.1</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-annotations</artifactId>
            <version>2.12.1</version>
        </dependency>

    </dependencies>

</project>

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software