Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Jakarta EE 9 - Milestone 1 Released by Eclipse Foundation

Jakarta EE 9 - Milestone 1 Released by Eclipse Foundation

This item in japanese


The Eclipse Foundation celebrated the first milestone release of Jakarta EE 9 with a Jakarta EE 9 Milestone Release Party on June 23rd, 2020. The event, hosted by the Eclipse Foundation's Tanja Obradovic, Jakarta EE program manager, Shabnam Mayel, senior marketing manager - Cloud Native Java, and Ivar Grimstad, Jakarta EE developer advocate, featured short presentations by Java luminaries Will Lyons, senior director, WebLogic Server Product Management at Oracle, Kevin Sutter, Jakarta EE 9 Release Lead at IBM, Scott Marlow, principal software engineer, JBoss at Red Hat, Steve Millidge, CEO at Payara, and BJ Hargrave, senior technical staff member at IBM.

The theme for the celebration was cupcakes sporting a Jakarta EE flag. The hosts and speakers were prepared to present their own cupcakes at the conclusion of their respective presentations.

The event was attended by 155 developers representing approximately 20 countries. The agenda included updates on the Jakarta EE Platform project (Platform and Web Profile 9.0.0-RC2 APIs), Jakarta EE TCK (Platform TCK 9.0.0-M1), Eclipse GlassFish 6.0-M1 and the Eclipse Transformer project.

Opening Remarks

In his opening remarks, Will Lyons provided an update of Jakarta EE activities since the formal release of Jakarta EE 8 in September 2019. The Jakarta EE 9 release plan, adopted in December 2019, will include a full migration of the javax package namespace to jakarta. The formal GA release of Jakarta EE 9 is planned for September 16th, 2020, in conjunction with the JakartaOne Livestream 2020 conference.

The M1 release features updates to the Jakarta EE specifications, APIs and TCKs. This will enable partners and tool vendors to begin their own certification process. GlassFish 6.0.0-M1 is the only compatible implementation at this time.

Along with major vendors - Red Hat, IBM, Payara and Tomitribe - Lyons acknowledged the Java community for almost 50% of contributions to Jakarta EE 9 in the first quarter of 2020.

Jakarta EE 9 Specifications

Kevin Sutter perused the Jakarta EE specifications page to show specific details available for each of those specifications such as the specification documentation, JavaDocs, TCKs and compatible implementations.

The Jakarta Managed Beans 2.0 specification and Jakarta EE Web Profile 9, almost ready for the final release, only requires the platform TCK and the GlassFish compatible implementation to be completed.

Work to be completed includes ensuring Jakarta EE Platform 9 for backwards compatibility, distributed interoperability, and final updates to the Jakarta Enterprise Beans 4.0 specification.

Jakarta EE Technology Compatibility Kit (TCK)

Scott Marlow discussed details about the Jakarta EE 9 Platform TCK including the role of the TCK, new changes for Jakarta EE 9 and what remains to be completed.

The Jakarta EE TCK, now open source, determines if a Jakarta EE server implementation meets compatibility requirements. For certification, the platform profile requires passing all the tests in the TCK while the web profile, targeted for web applications, requires passing only a subset of those tests.

Some of the Jakarta EE specifications also require passing separate standalone TCKs. Developers should be aware that the Jakarta Activation 2.0 specification is new to the list.

Tests have been updated to the new jakarta package namespace and tests supporting the now deprecated specifications, such as Jakarta Deployment 1.7 and Jakarta XML RPC 1.1, have been pruned or removed.

Work to be completed includes executing the TCKs with JDK 11, removing legacy test archives, and updating the TCK documentation.

GlassFish 6.0.0-M1

Steve Millidge announced that GlassFish 6.0.0-M1, implemented with the jakarta package namespace, is now available to the Java community. This M1 release of GlassFish incorporates compatible implementations of Eclipse projects such as Jersey, Mojarra, Tyrus and OpenMQ that are also using the jakarta package namespace.

Plans for the final release of GlassFish include a branding refresh, support for JDK 11, and passing the Compliance Test Suite (CTS) and standalone TCKs.

Eclipse Transformer

BJ Hargrave introduced Eclipse Transformer, a new Eclipse project created to convert existing javax package namespace binary artifacts to the new jakarta package namespace. The project can transform binary class files, containers of those files (JARs, EARs and WARs) and other resources such as manifests and property files.

Transformer uses a rules-based mechanism that allows for custom rules. A Jakarta EE 9 rule set is currently under development.

Jakarta EE 9 development teams have experienced initial success with the Transformer project and the current version, 0.2.0, provides early access to the CLI, Maven and Gradle plugins.


Ivar Grimstad demonstrated how to migrate an existing Jakarta EE 8 application deployed on GlassFish 5 to a Jakarta EE 9 M1 application deployed on GlassFish 6.0.0-M1. By simply editing the pom.xml file to reference Jakarta EE 9 and changing all references from javax to jakarta in the source code, the updated application was ready to be redeployed.

Grimstad also encouraged developers to share what Jakarta EE 9 means to them and their respective organizations by sharing a selfie with their own cupcake on social media using #JakartaEE and @JakartaEE.

A replay of the Jakarta EE Milestone Release Party may be viewed on YouTube.


Editor's Note

Michael Redlich serves on the leadership council of the Jakarta EE Ambassadors and will serve on the program committee for the JakartaOne Livestream 2020 conference.

Rate this Article


Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Community comments

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p