Spring Boot Migrator aims to automatically migrate existing applications to Spring Boot.

Introduction

Spring Boot Migrator (SBM) scans and analyses a given codebase and offers a list of applicable recipes.
An engineer can now apply these recipes against the codebase and step-by-step migrate it to a Spring Boot application.
See Available Recipes

Nothing’s perfect…​ there are situations where manual interaction is required or architectural decisions must be made.
Here SBM adds comments at relevant locations in code with further guidance for the engineer.
See Search and Comment

Installation

Download the latest release from GitHub Releases

Prerequisites

The application to be migrated must meet these requirements:

  • Must ba a Maven project

  • Must follow Maven dir layout

  • Should have Git (be in a repo)

  • No Maven reactor support (only one pom.xml!)

  • Recent build with mvn clean package and target dir still exists

Your System must meet these requirements:

  • Java version 11+

Getting started

Start the application

  • Open a terminal in the directory where you downloaded spring-boot-migrator.jar to.

  • Start the application with java -jar spring-boot-migrator.jar.

Get Help

  • Type help and press Enter to get information about the available commands.

List available Recipes

When the shell application started

  • Type list or just l and press Enter to get the list of available recipes

Scan Application

Before recipes can be applied the target application must be scanned.

  • Type scan <path-to-target-application> and press Enter.

Now the sources of the target application get scanned. Depending on the size of the project this can take a while. The conditions for all recipes are checked against the scanned source code and the list of applicable recipes is shown.

Apply Recipe

To apply a recipe on the target application a recipe shown in the list of applicable recipes must be selected by name.

  • Type apply <recipe-name> and press Enter to apply a recipe.

The recipe is applied to the target application and changes are committed by sbm.

Caution
If resources are added, removed, changed or committed while SBM is running you must scan the target application again.

Run a batch of recipes

A list of recipes to apply can be provided as file on startup.

  • Create a file recipes.txt which contains all commands:

scan <application-to-scan>
apply recipe1
apply recipe2
exit
  • Run java -jar spring-boot-migrator.jar @recipes.txt

The dir <application-to-scan> is scanned, recipe 1 and 2 applied and SBM exits.

Report Bugs and Problems

We need your help to improve.
If you experience any issues, please let us know.

Thanks. ❤️

Add a *Add a GitHub issue.