I will upgrade your legacy java app to jdk 21 and tomcat 11


About this gig
Your app runs on Java 8. Tomcat 9 is past end of life. You tried
Tomcat 10 and everything broke, because Tomcat 10 renamed every
javax.* package to jakarta.*.
I have done this migration on a production application, start to
finish: JDK 8 to 21, Tomcat 9 to 11, full javax to jakarta source
migration, and replacing bundled local jars with proper Maven
dependencies.
WHAT I HANDLE
-> javax to jakarta namespace migration across the codebase
-> JDK upgrade: 8, 11, 17 or 21, whichever you target
-> Tomcat 9 to 10.1 or 11
-> Removed and replaced JDK internal APIs
-> Dependency upgrades and version conflict resolution
-> Ant to Maven build migration if you are still on Ant
-> Spring Boot 2 to 3 upgrades
WHAT YOU GET
A working build on your target version, a list of every change
made and why, and notes on anything I found that needs your
decision.
Not sure how big your upgrade is? Start with the Assessment
package, or message me first and I will tell you.
Get to know Sarmad Habib
Software Engineer
- FromPakistan
- Member sinceSep 2024
- Avg. response time1 hour
Languages
English
My Portfolio
Other Software Development Services I Offer
FAQ
How long does an upgrade really take?
Depends on size and how many dependencies are abandoned. A small app with maintained libraries can be a few days. One with old unmaintained jars takes longer. The Assessment package tells you before you commit.
What if a library I use has no Jakarta version?
That's the most common blocker. I'll find the replacement or the workaround, and if there genuinely isn't one, I'll tell you straight rather than hiding it at delivery.
Will my app behave exactly the same afterward?
That's the goal. An upgrade shouldn't change behaviour. I test as I go and tell you about anything that can't be preserved.
Can you upgrade without breaking my running system?
I work on a branch or a copy. Your production system isn't touched unless you order the deploy package and approve each step.
Do you need server access?
Only for the deploy package. The other two work from your source code.

