7.20.0-alpha5 DomXmlDataFormat depends on javax.xml.bind instead of jakarta

I am migrating org.camunda.bpm.springboot:camunda-bpm-spring-boot-starter-external-task-client to 7.20.0-alpha5 in a Spring Boot 3.1.4 Java 17 application. The application cannot start up because the creation of the application context fails with

Caused by:
                java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException
                    at org.camunda.bpm.client.variable.impl.format.xml.DomXmlDataFormatProvider.createInstance(DomXmlDataFormatProvider.java:31)
                    at org.camunda.bpm.client.impl.ExternalTaskClientBuilderImpl.lookupProvider(ExternalTaskClientBuilderImpl.java:306)
                    at org.camunda.bpm.client.impl.ExternalTaskClientBuilderImpl.lookupCustomDataFormats(ExternalTaskClientBuilderImpl.java:297)
                    at org.camunda.bpm.client.impl.ExternalTaskClientBuilderImpl.lookupDataFormats(ExternalTaskClientBuilderImpl.java:285)
                    at org.camunda.bpm.client.impl.ExternalTaskClientBuilderImpl.initVariableMappers(ExternalTaskClientBuilderImpl.java:247)
                    at org.camunda.bpm.client.impl.ExternalTaskClientBuilderImpl.build(ExternalTaskClientBuilderImpl.java:185)
                    at org.camunda.bpm.client.spring.impl.client.ClientFactory.getObject(ClientFactory.java:92)
                    at org.camunda.bpm.client.spring.impl.client.ClientFactory.getObject(ClientFactory.java:36)
                    at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:178)

shouldn’t DomXmlDataFormat have a dependency on jakarta and not javax?

I can build and run the project if I include “javax.xml.bind:jaxb-api:2.4.0-b180830.0359” but Spring Boot migrated to jakarta as did other camunda packages.

Have you tried including camunda-spin-dataformat-xml-dom-jakarta instead of “camunda-spin-dataformat-xml-dom”?

i do not understand how that could solve my problem? i don’t even have a dependency on that. we are using only a dependency on

camunda-bpm-spring-boot-starter-external-task-client

which depends on the camunda-external-task-client which contains the DomXmlDataFormat which imports the javax.xml.bind:

org.camunda.bpm.springboot:camunda-bpm-spring-boot-starter-external-task-client:7.20.0-alpha6
+-- org.camunda.bpm:camunda-external-task-client-spring:7.20.0-alpha6
+-- org.camunda.bpm:camunda-external-task-client:7.20.0-alpha6 <- HERE DomXmlDataFormat

i already tried the alpha6 with the same result.

Is there any answers to this. We are having the same issues with the latest release 7.20.0

Any update on this. I have the same issue after upgrade to camunda 7.20.0. Or is there a workaround to use it?

I’d try to manually exclude one artifact and include the other.

You can track the progress on the issue reported here:

A workaround will be add the jaxb-api dependency for the time being. Similar to this example:

1 Like