blob: bbdea9e909097ce5898df26878035b7f5a092b82 [file] [log] [blame] [view]
# Apache Tomcat migration tool for Jakarta EE
## Overview
This tool is a work in progress.
The aim of the tool is to take a web application written for Java EE 8 that
runs on Apache Tomcat 9 and convert it automatically so it runs on Apache
Tomcat 10 which implements Jakarta EE 9.
The tool can be used from the command line or as an Ant task.
## Usage
### Build
Build the migration tool with:
./mvnw verify
### Migrate
Migrate your Servlet application with:
java -jar target/jakartaee-migration-*-shaded.jar <source> <destination>
The source should be a path to a compressed archive, a folder or an individual
file. The destination will be created at the specified path as a resource of
the same type as the source.
> **INFO**
> This tool will remove cryptographic signatures from JAR files contained
> in the *source*, as the changed resources would not match them anymore.
>
> A warning will be logged for each JAR file where the signature has been removed.
## Ant task
The migration tool is available as an Ant task, here is an example:
<taskdef name="javax2jakarta" classname="org.apache.tomcat.jakartaee.MigrationTask" classpath="jakartaee-migration-*-shaded.jar"/>
<javax2jakarta src="webapp.war" dest="webapp.migrated.war" profile="tomcat"/>
## Differences between Java EE 8 and Jakarta EE 9
Jakarta EE 9 is still under development and there are some details that remain
to be worked out.
The differences currently supported by this tool are:
* Renaming packages for Jakarta EE 9 APIs from `javax.*` to `jakarta.*`
The differences yet to be implemented by this tool are:
* Remaining issues once resolved
The issues still to be resolved by the Jakarta EE projects that will impact
this tool are:
* XML schemas