Enterprise Java gets a new namespace


Specifications for the Jakarta EE 9 Platform and Web Profile are being released on December 8, providing a new namespace for the Java enterprise edition after the Eclipse Foundation was unable to wrest the previous package namespace from Oracle.

Published by Eclipse’s Jakarta EE Working Group, Jakarta EE 9 leverages the package namespace, jakarta.*, instead of the previously used javax.* namespace, which is still used in the standard edition of Java and still under Oracle’s jurisdiction. Thus, the namespace had to be changed. The namespace is critical technology that enables applications to talk to the platform. With the transition to the new namespace and Jakarta EE 9, the enterprise Java ecosystem now can proceed with development of the planned Jakarta EE 10 release, which promises to address the needs of cloud-native computing.

The namespace switch is a breaking change for the enterprise Java ecosystem. Tools are being provided for binary compatibility in Jakarta EE 9, but the release offers no other new features. In addition to releasing Jakarta EE 9 specifications, the foundation is announcing certification of the GlassFish 6.0.0 application server, the first compatible implementation of Jakarta EE 9. Other implementations, such as the Apache Tomcat Java application server, are expected to move to Jakarta EE 9 beginning early next year. Jakarta EE 10 is due later in 2021.

Jakarta EE is the successor to Java Enterprise Edition. Oracle ceded development of enterprise Java to Eclipse in 2017. Java EE was built atop standard Java and is positioned for  large-scale, multi-tiered, network applications. Eclipse Executive Director Mike Milinkovich estimates that all of the Fortune 1000 companies have used Java EE. The predecessor to Jakarta EE 9, Jakarta EE 8, was released in September 2019.