The switch from the javax to jakarta namespace is one of the most significant changes in the Java in the past 20+ years, without a question. This shift impacts the entire ecosystem—not just Java EE servers, but also a wide range of libraries, including Spring, Hibernate etc.
Let's understand what it is and how WaveMaker apps get impacted.
The History
Java Enterprise Edition (Java EE, formerly J2EE) has long been the standard for building enterprise-grade applications, governed by the Java Community Process (JCP) and managed by Oracle. Java EE provided the core libraries for web technologies, including Servlets, JSP, and EJB, all under the javax namespace.
On September 12, 2017, Oracle announced its decision to transfer Java EE to the Eclipse Foundation. However, the Eclipse Foundation and Oracle could not reach an agreement on the use of the javax namespace and Java trademarks, as Oracle retained ownership of the "Java" trademark. As a result, the platform was renamed from Java EE to Jakarta EE.
Starting with Jakarta EE 9.x, all existing libraries in the javax package have been renamed to the jakarta package. This change requires all Java EE-based libraries, including Servlets, to transition from the javax namespace to the jakarta namespace.
This is a significant shift, as not only your application but also all its dependencies must be upgraded to accommodate this namespace change.