[
https://issues.apache.org/jira/browse/ARTEMIS-3546?focusedWorklogId=683560&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-683560
]
ASF GitHub Bot logged work on ARTEMIS-3546:
-------------------------------------------
Author: ASF GitHub Bot
Created on: 18/Nov/21 18:35
Start Date: 18/Nov/21 18:35
Worklog Time Spent: 10m
Work Description: clebertsuconic commented on pull request #3846:
URL: https://github.com/apache/activemq-artemis/pull/3846#issuecomment-973147387
@gemmellr wow.. thank you so much for this...
I have pulled your changes in on a separate commit for now...
The only thing I did not do was the optional aspect of the library.
Maven will internally still use the unshaded jar for certain features, and
when that happens the dependency still valid, but when using outside of the
context of artemis build the shaded version will not have the dependency. I
checked that and it's working...
(I needed the dependency for certain tests)
the secret is not not depend on the shaded classes for anything.. I had to
pull in @brusdev 's wrapper on JSON, and everything works now.
I will do some reorg on the commits and squash accordingly before I can mark
this ready for merge, but all the code changes should be here now.
--
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: 683560)
Time Spent: 4h 50m (was: 4h 40m)
> 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: 4h 50m
> 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)