On 1/13/26 06:59, Christopher Schultz wrote:
Mark and Rob,


Thank you Chris and Mark,

One more question, below.  Or five.  And maybe a feature request.
On 1/13/26 3:52 AM, Mark Thomas wrote:
On 12/01/2026 19:12, Rob Sargent wrote:
Hello again, it's been a minute

I may need to upgrade my embedded tomcat application and have a couple of questions.

Other than the obvious javax.<servlety-stuff> -> jakarta substitutions what else does it change?

Exactly which Java EE -> Jakarta EE conversion it does depend on which profile you pick. Options are:

- just Servlet
- all the APIs Tomcat provides
- all the Java EE specs

There is also a Jakarta EE to Java EE profile if you need to down convert.

Other things converted:

- OSGi dependencies in MANIFEST.MF files.

Can the tool "update in-place"?

You can use it in three ways.

1. Standalone. Pass it a WAR/JAR/directory and it will convert it.

2. On deployment. Place your WAR file in webapps-javaee and Tomcat will create a converted version in webapps and load it.

3. At runtime by setting the jakartaConverter attribute of the Loader to the required conversion profile name.

I have run the tool on my "webapp" source dir, which has only a half a dozen servlets.  Should I also run the tool in the app source dir which also has some javax.servlet etc imports?  Indeed, run it over my entire code base?

It needs to run over all your source code. For each dependency you either need to obtain a Jakarta EE compatible JAR or use the tool to convert a Java EE JAR. Note some dependencies will not use Java EE APIs and won't need updating / converting.

I do want to be perfectly clear: you can run the tool *on your source code*; it's not just a WAR/JAR converter.

So run it on your source and check the changes with your revision control system to see what it did.

I successfully ran to tool directly against my source code, with none of the options added to the command line. Wonderful.  My first guess was to supply just the <source> dir but then set <destination> same as <source>.  Bingo.  Perhaps a little unexpected but it works.

But now of course I have jakarta and javax (naming, sql, xml) imports. Is it wiser (and part of the tool's capabilities) to replace those as well?  Maybe a little future-proofing?  Wouldn't this then make one less dependency? jakarta-11?

Then switch any dependencies you know about for their Jakarta equivalents. Then build and test, swapping-out anything that isn't working for its Jakarta equivalent.

For those packages which aren't available targeted at the Jakarta APIs, run those JAR files through the converter either as a part of your build or pre-build with stored-local JAR files.

-chris

Not sure if there's any attempt to address any of the build environments, but if so adding gradle's build.gradle files to the mix would be greatly appreciated.

Thanks again to you all,

rjs


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to