[ 
https://issues.apache.org/jira/browse/ARTEMIS-3546?focusedWorklogId=680265&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-680265
 ]

ASF GitHub Bot logged work on ARTEMIS-3546:
-------------------------------------------

                Author: ASF GitHub Bot
            Created on: 11/Nov/21 12:41
            Start Date: 11/Nov/21 12:41
    Worklog Time Spent: 10m 
      Work Description: wilkinsona commented on pull request #3846:
URL: https://github.com/apache/activemq-artemis/pull/3846#issuecomment-966270674


   Thanks for taking a look at this, @clebertsuconic. While the changes appear 
to fix the minimal reproducer I provided in ARTEMIS-3546, I don't think they're 
sufficient to fully address the problem. The `-all` artifact still contains 
shaded Apache Johnzon classes that refer to `javax.json` and a 
`/META-INF/services/javax.json.spi.JsonProvider` file as well. Furthermore, 
switching to the `artemis-jakarta-client` artifact shows that it still has 
transitive dependencies on `jakarta.json-api-1.1.6` and `johnzon-core-0.9.5` 
which are EE 8 artifacts.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Issue Time Tracking
-------------------

            Worklog Id:     (was: 680265)
    Remaining Estimate: 0h
            Time Spent: 10m

> ClassNotFoundException: javax.json.JsonValue when creating an 
> ActiveMQConnectionFactory using artemis-jakarta-client-all
> ------------------------------------------------------------------------------------------------------------------------
>
>                 Key: ARTEMIS-3546
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-3546
>             Project: ActiveMQ Artemis
>          Issue Type: Bug
>          Components: JMS
>    Affects Versions: 2.19.0
>            Reporter: Andy Wilkinson
>            Assignee: Clebert Suconic
>            Priority: Major
>             Fix For: 2.20.0
>
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> As expected, {{artemis-jakarta-client-all}} contains the various 
> {{jakarta.json.\*}} classes from Jakarta EE 9. However, its bytecode still 
> references the {{javax.json.\*}} classes from EE 8. This results in a failure 
> at runtime when creating an {{ActiveMQConnectionFactory}}:
> {noformat}
> Exception in thread "main" java.lang.IllegalStateException: 
> java.lang.NoClassDefFoundError: javax/json/JsonValue
>       at 
> org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory.<init>(ActiveMQConnectionFactory.java:225)
>       at 
> org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory.<init>(ActiveMQConnectionFactory.java:218)
>       at example.Main.main(Main.java:8)
> Caused by: java.lang.NoClassDefFoundError: javax/json/JsonValue
>       at 
> org.apache.activemq.artemis.uri.schema.connector.TCPTransportConfigurationSchema.getTransportConfigurations(TCPTransportConfigurationSchema.java:68)
>       at 
> org.apache.activemq.artemis.uri.schema.serverLocator.TCPServerLocatorSchema.internalNewObject(TCPServerLocatorSchema.java:42)
>       at 
> org.apache.activemq.artemis.uri.schema.serverLocator.TCPServerLocatorSchema.internalNewObject(TCPServerLocatorSchema.java:33)
>       at 
> org.apache.activemq.artemis.utils.uri.URISchema.newObject(URISchema.java:86)
>       at 
> org.apache.activemq.artemis.utils.uri.URISchema.newObject(URISchema.java:30)
>       at 
> org.apache.activemq.artemis.utils.uri.URIFactory.newObject(URIFactory.java:59)
>       at 
> org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl.newLocator(ServerLocatorImpl.java:333)
>       at 
> org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory.setBrokerURL(ActiveMQConnectionFactory.java:243)
>       at 
> org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory.<init>(ActiveMQConnectionFactory.java:223)
>       ... 2 more
> Caused by: java.lang.ClassNotFoundException: javax.json.JsonValue
>       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)
>       ... 11 more
> {noformat}
> With artemis-jakarta-client-all-2.19.0.jar on the classpath, the failure 
> above was produced by the following main class:
> {code:java}
> package example;
> import org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory;
> public class Main {
>       
>     public static void main(String[] args) {
>         new ActiveMQConnectionFactory();
>     }
> }
> {code}
> The shaded Johnzon code also has references to {{javax.json.\*}} classes.
> A similar problem exists with {{artemis-jakarta-client}} when upgrading its 
> transitive dependencies to their Jakarta EE 9 versions.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to