Labsco
github logo

javax-to-jakarta-migration

✓ Official36,200

by github · part of github/awesome-copilot

Migrate Java code from javax.* to jakarta.* namespace. Use when upgrading to Tomcat 11, Jakarta EE 10, or when javax imports are detected in the codebase.

🔥🔥🔥✓ VerifiedFreeAdvanced setup
🧩 One of 7 skills in the github/awesome-copilot package — works on its own, and pairs well with its siblings.

Migrate Java code from javax.* to jakarta.* namespace. Use when upgrading to Tomcat 11, Jakarta EE 10, or when javax imports are detected in the codebase.

Inspect the full instructions your agent will receiveExpand

This is the exact playbook injected into your agent when the skill activates — shown here so you can audit it before installing. You don't need to read it to use the skill.

by github

Migrate Java code from javax.* to jakarta.* namespace. Use when upgrading to Tomcat 11, Jakarta EE 10, or when javax imports are detected in the codebase. npx skills add https://github.com/github/awesome-copilot --skill javax-to-jakarta-migration Download ZIPGitHub36.2k

javax → jakarta Migration Skill

When to Use

  • Upgrading to Tomcat 11 / Jakarta EE 10+

  • Code review detects javax.* imports

  • Migrating an existing project to the jakarta namespace

Procedure

Step 1 — Scan for javax Usage

Search the codebase for all javax.* imports that need migration:

Copy & paste — that's it
javax.servlet.* → jakarta.servlet.*
javax.persistence.* → jakarta.persistence.*
javax.validation.* → jakarta.validation.*
javax.annotation.* → jakarta.annotation.*
javax.inject.* → jakarta.inject.*
javax.enterprise.* → jakarta.enterprise.*
javax.faces.* → jakarta.faces.*
javax.ws.rs.* → jakarta.ws.rs.*
javax.el.* → jakarta.el.*
javax.json.* → jakarta.json.*
javax.mail.* → jakarta.mail.*
javax.websocket.* → jakarta.websocket.*

Do NOT migrate these (they remain in javax.*):

  • javax.sql.* — part of JDK

  • javax.naming.* — part of JDK (JNDI)

  • javax.crypto.* — part of JDK

  • javax.net.* — part of JDK

  • javax.security.auth.* — part of JDK

  • javax.swing.*, javax.xml.parsers.* — JDK packages

Step 2 — Update pom.xml

Replace dependency coordinates:

Old New javax.servlet:javax.servlet-api jakarta.servlet:jakarta.servlet-api:6.0.0 javax.persistence:javax.persistence-api jakarta.persistence:jakarta.persistence-api:3.1.0 javax.validation:validation-api jakarta.validation:jakarta.validation-api:3.0.2 javax.annotation:javax.annotation-api jakarta.annotation:jakarta.annotation-api:2.1.1

Step 3 — Update web.xml (if present)

Copy & paste — that's it
 
 

 
 

Step 4 — Update Java Source Files

Replace all javax. imports with jakarta. equivalents in .java files.

Step 5 — Verify

  • Run mvn clean compile or gradlew build — fix any compilation errors

  • Run mvn test or gradlew test — ensure all tests pass

  • Search for any remaining javax.* imports (excluding JDK packages)

Output

Provide a migration summary listing all files changed, imports replaced, and any manual steps required.