Jakarta EE Gets Its Own Project Initializer
Written by Nikos Vaggalis   
Thursday, 11 May 2023

About time. Spring had it for ages, and was one of its advantages over Jakarta. Will the new initializer turn the tide in Jakarta's favor?

Of course it is not that simple. In "Jakarta vs Spring - The War Goes On" we saw that there's many aspects of a framework that will drive the decision of sticking or foregoing. But certainly as small as a project initializer's role can be, it nevertheless can make a big difference.

To give some context, Spring's initializer web version can be found on https://start.spring.io/ which allows you to configure the build system (Maven and Spring Boot) and its coordinates, the language and version, the packaging and finally the dependencies to add to the project and download a customized starting point for your application.

It is also supported in popular IDEs like Intellij which provides the Spring Initializr project wizard that integrates with the Spring Initializr API to generate and import your project directly from the IDE.

It's the little things that give your product the edge. As such, the new and long awaited initializer of Jakarta is heralded
as a big deal. This is further corroborated since Jakarta was considered not beginner friendly, unlike Spring. From "Jakarta vs Spring - The War Goes On":

the talk was driven by his recurrent observation, when wearing his recruiter hat, that most Junior developers were familiar only with Spring, ignoring J2EE altogether. While that didn't pose a hurdle for being hired, it still looked off in that J2EE, and its later incarnation Jakarta, are an integral part of the Java ecosystem, and ignoring that part while completely living in the Spring world didn't paint the full picture.

This gave rise to further misconceptions regarding J2EE/Java EE/Jakarta - outdated, complex, or only used in Enterprise environments. While this might have been the case in the past, but it doesn't hold true nowadays as you'll discover by reading on.

The starter might be further piece on solving the beginner friendliness puzzle.

As Reza Rahman, a committer on the Eclipse Starter for Jakarta EE project, a project lead for Eclipse Cargo Tracker, and a program manager at Microsoft, puts it :

There’s been a longstanding perception of Jakarta EE and Java EE that it’s kind of impenetrable and hard to get into. And that was true to a certain extent for some years. Java came out nearly thirty years ago, and some of the runtimes based on it are nearly as old. Many of the runtimes also had convoluted installation procedures, and it takes several steps to get them installed and running on a machine.

The starter project demonstrates the applications that users built can run on selected Jakarta EE certified runtimes. In its absence, there isn’t anything to help developers get started using Jakarta EE. If they had the necessary knowledge and were very motivated, they could figure it out. But it created a lot of unnecessary friction.

The project attempts to address these issues by basically allowing a newcomer to get started with Jakarta EE quickly and easily — with a runtime of their choice and painless on-boarding in mind.

The starter has two key components: the archetype portion and the Web UI portion. The engine behind all of this is the archetype, but it is worth noting that there is a simple, web-based UI as well. If you’re not a command line person, or you’re not familiar with Maven, you can just head to the website, fill out a few options, and get started.

All the major open source runtimes — GlassFish, Payara, WildFly, TomEE, Open Liberty, etc are supported, as well as Jakarta's versions — so Jakarta EE 8, EE 9, EE 9.1, EE 10, and all the LTS Java versions, so 8, 11, and 17. There is also support for the Core Profile, Web Profile, as well as the full Jakarta EE platform.

However since the starter is still in its baby steps, only a single HelloWorld RESTful endpoint JAX-RS end-point and a static HTML page can be generated at the moment. But on the todo list are :

  • Generating a CRUD application
  • Adding the ability to test using JUnit
  • Adding the ability to check some of the lesser used capabilities in Jakarta EE, like email, batch, or messaging.
  • Adding Docker support

The archetype version is available on the project's Github repo , while the Web version is available at https://start.jakarta.ee/

A lot of work still left, but certainly a step to the right direction.


More Information

Eclipse Starter Fills a Longstanding Gap in Jakarta EE

Eclipse Starter for Jakarta EE - Github

Eclipse Starter Web UI

Related Articles

Jakarta vs Spring - The War Goes On

Jakarta EE 10 - A New Era For Java On The Cloud


To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.


Linus Torvalds Over Flows On Overflows In C

You may think of Linus Torvalds as the Linux guru, but he is also a leading expert on C and often ignored and misunderstood in this role. A recent exchange on the Linux Kernel mailing list demonstrate [ ... ]

BASIC Turns 60

On May 1,1964 the first BASIC program ran and the world was about to change. Now when we look back it is easy to be critical, but these were different times.

More News

raspberry pi books



or email your comment to: comments@i-programmer.info