From Java EE to Jakarta EE
Java EE moved to the Eclipse Foundation and became Jakarta EE. Since Jakarta EE 9 the package names changed from javax.* to jakarta.*. That one change decides which server version your application needs.
| Application targets | Uses | Runs on |
|---|---|---|
| Java EE 7 / 8 | javax.* | Payara 5, WildFly up to 26, Tomcat 9 (web profile subset) |
| Jakarta EE 9.1 / 10 | jakarta.* | WildFly 27 and newer, Payara 6, Tomcat 10.1 (servlet only) |
| Jakarta EE 11 | jakarta.* | Payara 7, WildFly current releases, Tomcat 11 (servlet only) |
Choosing a server
Both WildFly and Payara are production ready. WildFly is the successor of JBoss. Payara is derived from GlassFish. Pick the one your application was developed and tested on. If you have no preference, read Tomcat vs WildFly vs Payara vs Spring Boot.
Plan for memory
Jakarta EE servers use more memory than a servlet container. Start from 4 GB. Use 8 GB if the database runs on the same server or if you deploy several applications.