Migrate From Javax to Jakarta Namespace
Apply the javax to jakarta namespace change and related library upgrades in your implementation project to upgrade from brXM v15 to v16.
In Bloomreach Experience Manager 16, the javax to jakarta namespace change is applied. For brXM that means upgrading to Jakarta Servlet API 6, Spring Boot 3, Spring 6, Apache CXF 4, XML Web Services API 3, XML Binding API 3, RESTful Web Services 3, Annotations API 2, JAXB Runtime 3, and Mail API 2.
Update Dependencies
The brXM root project pom (artifact org.onehippo.cms7:hippo-cms7-project) defines the version management of above third party libraries. In your pom files, there may be references to those, or to related, libraries as well. Please check and update accordingly, using as much of the provided version management as possible. The aim is to have as much of the same library versions in your implementation project as the product uses.
Update Java Imports
In your Java code, replace the javax.* imports with their jakarta.* equivalents per the following table:
Old import | New import |
---|---|
javax.servlet | jakarta.servlet |
javax.xml.bind | jakarta.xml.bind |
javax.ws | jakarta.ws |
javax.annotation | jakarta.annotation |
javax.mail | jakarta.mail |
javax.activation | jakarta.activation |
javax.inject | jakarta.inject (*) |
(*) used by Essentials plugin framework, so could be needed if there’s a custom Essentials plugin, see Essentials Plugin Back-End page.