activemq-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (ARTEMIS-1783) Exception in thread "main" java.lang.BootstrapMethodError: java.lang.NoClassDefFoundError: com/google/common/base/Supplier
Date Tue, 15 May 2018 20:14:00 GMT

    [ https://issues.apache.org/jira/browse/ARTEMIS-1783?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16476414#comment-16476414
] 

ASF GitHub Bot commented on ARTEMIS-1783:
-----------------------------------------

Github user michaelandrepearce commented on the issue:

    https://github.com/apache/activemq-artemis/pull/2082
  
    @clebertsuconic where is it in the CLI, i must have not noticed, if you can point me to
it,  ill try see what we can do there.


> Exception in thread "main" java.lang.BootstrapMethodError: java.lang.NoClassDefFoundError:
com/google/common/base/Supplier
> --------------------------------------------------------------------------------------------------------------------------
>
>                 Key: ARTEMIS-1783
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-1783
>             Project: ActiveMQ Artemis
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 2.5.0
>            Reporter: Jiri Daněk
>            Assignee: Justin Bertram
>            Priority: Trivial
>
> When using my program cli-artemis-jms at https://github.com/rh-messaging/cli-java, which
depends on activemq-artemis-jms-client, I get the following stack trace
> {noformat}
> junit5(?) $ java -jar systemtests/client_executable/cli-artemis-jms.jar receiver --address
test --log-msgs json --count 0
> Exception in thread "main" java.lang.BootstrapMethodError: java.lang.NoClassDefFoundError:
com/google/common/base/Supplier
>         at org.apache.activemq.artemis.core.message.impl.CoreMessageObjectPools.<init>(CoreMessageObjectPools.java:26)
>         at org.apache.activemq.artemis.core.protocol.ClientPacketDecoder.<init>(ClientPacketDecoder.java:36)
>         at org.apache.activemq.artemis.core.protocol.core.impl.ActiveMQClientProtocolManager.createPacketDecoder(ActiveMQClientProtocolManager.java:520)
>         at org.apache.activemq.artemis.core.protocol.core.impl.ActiveMQClientProtocolManager.connect(ActiveMQClientProtocolManager.java:412)
>         at org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl.establishNewConnection(ClientSessionFactoryImpl.java:1273)
>         at org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl.getConnection(ClientSessionFactoryImpl.java:891)
>         at org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl.getConnectionWithRetry(ClientSessionFactoryImpl.java:795)
>         at org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl.connect(ClientSessionFactoryImpl.java:238)
>         at org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl.createSessionFactory(ServerLocatorImpl.java:784)
>         at org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory.createConnectionInternal(ActiveMQConnectionFactory.java:813)
>         at org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory.createConnection(ActiveMQConnectionFactory.java:277)
>         at org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory.createConnection(ActiveMQConnectionFactory.java:272)
>         at com.redhat.mqe.acc.AccConnectionManager.<init>(AccConnectionManager.java:68)
>         at com.redhat.mqe.acc.AccConnectionManagerFactory.make(AccConnectionManagerFactory.java:33)
>         at com.redhat.mqe.acc.AccConnectionManagerFactory.make(AccConnectionManagerFactory.java:27)
>         at com.redhat.mqe.lib.CoreClient.createConnection(CoreClient.java:86)
>         at com.redhat.mqe.lib.ReceiverClient.consumeMessage(ReceiverClient.java:170)
>         at com.redhat.mqe.lib.ReceiverClient.startClient(ReceiverClient.java:147)
>         at com.redhat.mqe.lib.Main.main(Main.java:50)
>         at com.redhat.mqe.acc.Main.main(Main.java:74)
> Caused by: java.lang.NoClassDefFoundError: com/google/common/base/Supplier
>         ... 20 more
> Caused by: java.lang.ClassNotFoundException: com.google.common.base.Supplier
>         at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
>         at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
>         at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:338)
>         at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
>         ... 20 more
> {noformat}
> I get this with artemis-jms-client 2.5.0, but not with artemis-jms-client 2.4.0.
> I believe the guilty commit is in ARTEMIS-1586, "794e56da99456e Refactor to make more
generic", which introduced usage of Google Guava, without adding it to the package's pom file,
causing my maven to miss that transitive dependency when building uberjar.
> The command above runs when triggered from Intellij IDE, where the dependency is on classpath,
for some reason.
> Workaround is easy, add Guava to dependencies of your own program which is using the
artemis jms library.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Mime
View raw message