Jakarta
Recipes for migrating to Jakarta EE.
Composite Recipes
Recipes that include further recipes, often including the individual recipes below.
- Add the Jakarta CDI API when needed
- Faces XHTML migration for Jakarta EE 10
- JSF 2.x to Jakarta Faces 3.x
- Jakarta Faces 4.0 to 4.1
- Migrate Ehcache from javax to jakarta namespace
- Migrate JSF values inside ECMAScript files
- Migrate Jackson from javax to jakarta namespace
- Migrate Jakarta EE 9 API dependencies to Jakarta EE 10 versions
- Migrate Jakarta EE runtime type names
- Migrate Johnzon from javax to jakarta namespace
- Migrate OmniFaces namespaces
- Migrate Weld implementations to Jakarta CDI
- Migrate XJC bindings to Jakarta XML
- Migrate
commons-fileuploadtocommons-fileupload2-jakarta-servlet5 - Migrate deprecated
javaee-apidependencies tojakarta.platform - Migrate deprecated
javax.activationpackages tojakarta.activation - Migrate deprecated
javax.annotationtojakarta.annotation - Migrate deprecated
javax.batchpackages tojakarta.batch - Migrate deprecated
javax.decoratorpackages tojakarta.decorator - Migrate deprecated
javax.ejbpackages tojakarta.ejb - Migrate deprecated
javax.elpackages tojakarta.el - Migrate deprecated
javax.enterprisepackages tojakarta.enterprise - Migrate deprecated
javax.facespackages tojakarta.faces - Migrate deprecated
javax.injectpackages tojakarta.inject - Migrate deprecated
javax.interceptorpackages tojakarta.interceptor - Migrate deprecated
javax.jmspackages tojakarta.jms - Migrate deprecated
javax.jsonpackages tojakarta.json - Migrate deprecated
javax.jsppackages tojakarta.jsp - Migrate deprecated
javax.jwspackages tojakarta.jws - Migrate deprecated
javax.mailpackages tojakarta.mail - Migrate deprecated
javax.persistencepackages tojakarta.persistence - Migrate deprecated
javax.resourcepackages tojakarta.resource - Migrate deprecated
javax.security.auth.messagepackages tojakarta.security.auth.message - Migrate deprecated
javax.security.enterprisepackages tojakarta.security.enterprise - Migrate deprecated
javax.security.jaccpackages tojakarta.security.jacc - Migrate deprecated
javax.servletpackages tojakarta.servlet - Migrate deprecated
javax.soappackages tojakarta.soap - Migrate deprecated
javax.transactionpackages tojakarta.transaction - Migrate deprecated
javax.validationpackages tojakarta.validation - Migrate deprecated
javax.websocketpackages tojakarta.websocket - Migrate deprecated
javax.wspackages tojakarta.ws - Migrate deprecated
javax.xml.bindpackages tojakarta.xml.bind - Migrate deprecated
javax.xml.wspackages tojakarta.xml.ws - Migrate
org.apache.ws.securityandorg.apache.ws.security.components.cryptopackages toorg.apache.wss4j.common.extandorg.apache.wss4j.common.cryptopackages - Migrate to Jakarta EE 10
- Migrate to Jakarta EE 11
- Migrate to Jakarta EE 9
- Migrate xmlns entries and
javaxpackages inejb-jar.xmlfiles - Migrate xmlns entries and
javaxpackages invalidation.xmlfiles - Migrate xmlns entries in
beans.xmlfiles - Migrate xmlns entries in
faces-config.xmlfiles - Migrate xmlns entries in
faces-config.xmlfiles - Migrate xmlns entries in
orm.xmlfiles - Migrate xmlns entries in
persistence.xmlfiles - Migrate xmlns entries in
taglib.xmlfiles - Migrate xmlns entries in
taglib.xmlfiles - Migrate xmlns entries in
web-fragment.xmlfiles - Migrate xmlns entries in
web-fragment.xmlfiles - Migrate xmlns entries in
web.xmlfiles - Migrate xmlns entries in
web.xmlfiles - Remove deprecated APIs not supported in CDI 4.0
- Remove
getCommentandgetVersionmethods - Rename the
jsf/ClientSideSecretKeyandjsf/FlashSecretKeyJNDI names tofaces/* - Replace
ResourceResolverwithResourceHandler - Replace deprecated Jakarta Servlet methods and classes
- Replace
doUpgrade(..)withServerContainer.upgradeHttpToWebSocket(..) - Replace
jakarta.jws-apiwithjakarta.xml.ws-api - Substitute removed Faces managed beans
- Update Apache Commons Email to Email2 for Jakarta
- Update Apache Commons FileUpload2 package for Jakarta EE 10
- Update Apache Shiro dependencies to 2.0.x
- Update Fastjson for Jakarta EE 10
- Update GlassFish Jersey dependencies to 3.1.x
- Update Jakarta EE platform dependencies to 11.0.x
- Update Jakarta Faces dependencies to 4.0.x
- Update Jakarta XML Web Services dependencies for Jakarta EE 10
- Update Jetty 9 to Jetty 12
- Update Jetty EE9 to Jetty EE10
- Update Restlet to 2.6.x
- Update plugins for Jakarta EE 10
- Upgrade Faces open source libraries
- Upgrade Faces open source libraries
- Upgrade Faces open source libraries
- Upgrade to Jakarta Faces 4.x
- Use
StateManagementStrategy - Use
jakarta.elinstead ofjakarta.faces.elandjavax.faces.el - Use
jakarta.xml.soap.SOAPFactoryto createSOAPElements
Recipes
- Access Jetty connector ports through
NetworkConnector - Add a Jakarta JAXB runtime for Maven applications
- Add the Jakarta Annotation API when needed
- Add the Jakarta EJB API when needed
- Add the Jakarta EL API when needed
- Add the Jakarta Mail API when needed
- Add the
jakarta.injectAPI when needed - Add the
jakarta.ws.rsAPI when needed - Align legacy Jetty core dependencies with Jetty 12
- Build does not declare a provided API dependency
- Build uses Jetty before version 12
- Complete
InvocationContextdecorators - Faces XHTML migration for Jakarta EE 9
- Migrate Jackson provider configuration overrides
- Migrate RestAssured from javax to jakarta namespace by upgrading to a version compatible with Jakarta EE 9
- Migrate the JAXB API dependency unless Recorder or Jackson still needs it
- Project has no Jakarta annotations
- Remove
Bean.isNullable() - Remove
jakarta.annotation-apidependency when managed by Spring Boot - Remove trailing
/*fromjakarta.ws.rs.ApplicationPathvalues - Rename CDI extension service files to Jakarta
- Replace
BeforeBeanDiscovery.addAnnotatedType(AnnotatedType)withaddAnnotatedType(AnnotatedType, String) - Replace
CURRENT_COMPONENTandCURRENT_COMPOSITE_COMPONENTwithgetCurrentComponent()andgetCurrentCompositeComponent() - Replace Jersey logging filter with logging feature
- Replace
ServletRequest.getRealPath(String)withgetServletContext().getRealPath(String) - Retain
javax.xml.bind:jaxb-apiwhenjackson-module-jaxb-annotationsis present - Retain the JAXB 2 API for Arquillian Recorder 1.x
- Set
maven-ejb-pluginejbVersionto4.0 - Update Eclipse Yasson dependencies to 3.0.x
- Update EclipseLink dependencies to 4.x
- Update Faces
@ManagedBeanto use CDI@Named - Update Jakarta EE annotation dependencies to 2.1.x
- Update Jakarta EE platform dependencies to 10.0.0
- Update Jakarta Faces dependencies to 4.1.x
- Update annotation attributes using
javaxtojakarta - Update
fireEvent()andcreateInjectionTarget()calls - Update plugins for Jakarta EE 11
- Update plugins for Jakarta EE 9
- Use Java 17 for Jetty 12
- Use
isParametersProvided()