{"id":18645849,"url":"https://github.com/spring-projects-experimental/spring-boot-migrator","last_synced_at":"2025-04-04T08:09:24.930Z","repository":{"id":37457532,"uuid":"460537559","full_name":"spring-projects-experimental/spring-boot-migrator","owner":"spring-projects-experimental","description":"Spring Boot Migrator (SBM) is a tool for automated code migrations to upgrade or migrate to Spring Boot","archived":false,"fork":false,"pushed_at":"2024-08-06T17:03:03.000Z","size":91196,"stargazers_count":461,"open_issues_count":87,"forks_count":88,"subscribers_count":17,"default_branch":"main","last_synced_at":"2025-03-28T07:07:37.108Z","etag":null,"topics":["automation","cli","migration-tool","spring-boot","tool"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/spring-projects-experimental.png","metadata":{"files":{"readme":"README.adoc","changelog":"changelog.md","contributing":"CONTRIBUTING.adoc","funding":null,"license":"LICENSE.txt","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-02-17T17:26:36.000Z","updated_at":"2025-03-17T08:23:09.000Z","dependencies_parsed_at":"2023-09-28T11:17:35.502Z","dependency_job_id":"16c02ba9-041a-4f2d-8b1a-348219315159","html_url":"https://github.com/spring-projects-experimental/spring-boot-migrator","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spring-projects-experimental%2Fspring-boot-migrator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spring-projects-experimental%2Fspring-boot-migrator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spring-projects-experimental%2Fspring-boot-migrator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spring-projects-experimental%2Fspring-boot-migrator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/spring-projects-experimental","download_url":"https://codeload.github.com/spring-projects-experimental/spring-boot-migrator/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247142074,"owners_count":20890653,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automation","cli","migration-tool","spring-boot","tool"],"created_at":"2024-11-07T06:17:25.068Z","updated_at":"2025-04-04T08:09:24.914Z","avatar_url":"https://github.com/spring-projects-experimental.png","language":"Java","funding_links":[],"categories":["automation"],"sub_categories":[],"readme":"ifdef::env-github[]\n:tip-caption: :bulb:\n:note-caption: :information_source:\n:important-caption: :heavy_exclamation_mark:\n:caution-caption: :fire:\n:warning-caption: :warning:\nendif::[]\n\n= Spring Boot Migrator (SBM)\n\nimage:https://img.shields.io/github/license/spring-projects-experimental/spring-boot-migrator[GitHub]\nimage:https://img.shields.io/github/v/release/spring-projects-experimental/spring-boot-migrator[GitHub release (latest by date)]\nimage:https://img.shields.io/github/downloads/spring-projects-experimental/spring-boot-migrator/0.14.0/total[GitHub release (latest by date)]\nimage:https://img.shields.io/youtube/channel/views/UC6NuSiwpvI32YTcdIflObPQ?logo=youtube\u0026style=flat-square[YouTube Channel Views]\n\nimage:https://img.shields.io/badge/Join-Slack-green?logo=slack\u0026color=007EC6\u0026style=for-the-badge[link=\"https://join.slack.com/t/springbootmigrator/shared_invite/zt-1k6yxfi3b-MEQ_MM67qXufWtc~Tw6y9w\"]\nimage:https://img.shields.io/github/discussions/spring-projects-experimental/spring-boot-migrator?label=GitHub%20discussions\u0026logo=GitHUb\u0026style=for-the-badge[GitHub Discussions]\nimage:https://img.shields.io/gitter/room/spring-boot-migrator/community?color=007EC6\u0026logo=gitter\u0026style=for-the-badge[link=\"https://gitter.im/spring-boot-migrator/community\"]\n\n\nIMPORTANT: **We're revamping Spring Boot Migrator. https://github.com/spring-projects-experimental/spring-boot-migrator/discussions/859[Read more here].**\n\n\n\n[quote]\n____\nSpring Boot Migrator (SBM) aims to help developers upgrade or migrate to https://spring.io/projects/spring-boot[Spring Boot] by providing recipes for automated migrations.\n____\n\n== Support and Requirements\n\n✅ Java, JDK 17\n✅ Maven\n❌ Kotlin\n❌ Gradle\n\n\n== Documentation\n\n- https://github.com/spring-projects-experimental/spring-boot-migrator/blob/main/docs/reference/user-documentation.adoc[User documentation]\n- https://github.com/spring-projects-experimental/spring-boot-migrator/blob/main/docs/reference/developer-documentation.adoc[Developer documentation]\n\n\n== Spring Boot 3.0 Upgrade - Interactive Web UI\nWe are working on automated upgrade from Spring Boot 2.7 to Spring Boot 3.0.\n\nClick the image to watch a demo video [2:26]\n\nifdef::env-github[]\nimage:https://img.youtube.com/vi/RKXblzn8lFg/maxresdefault.jpg[link=https://www.youtube.com/embed/RKXblzn8lFg]\nendif::[]\n\n=== Try the Spring Boot Upgrade Tool\nNOTE: **Use JDK 17**\n\n. Download the https://github.com/spring-projects-experimental/spring-boot-migrator/releases/latest/download/spring-boot-upgrade.jar[spring-boot-upgrade.jar]\n. Run `java -jar --add-opens java.base/sun.nio.ch=ALL-UNNAMED --add-opens java.base/java.io=ALL-UNNAMED spring-boot-upgrade.jar \u003cpath-to-application\u003e`\n\nIf any of your applications is on 2.7 and uses Maven (Gradle is currently not supported), we'd be happy if you\ncould give SBM a try and provide feedback of how it worked out.\nIt is very hard to come up with all the possible setups found in the wild and therefor we need you - the community - to provide feedback to stabilize the recipe.\n\nThank you!\n\n=== Contributing\nAny contribution is appreciated!\nIf you want to get involved, please have a look at https://github.com/spring-projects-experimental/spring-boot-migrator/wiki/Spring-Boot-3-Upgrade-Report-Contribution-Guideline[Spring Boot 3 Upgrade Report Contribution Guideline] where we provide information related to contributing to the Spring Boot 3 Upgrade.\nPlease don't hesitate to ask questions and provide feedback.\n\nFind the list of Spring Boot 3 Upgrade related issues labeled as `good first issue` https://github.com/spring-projects-experimental/spring-boot-migrator/issues?q=is%3Aissue+is%3Aopen+label%3A3.0.0+label%3A%22good+first+issue%22+[here]\n\nIf you decided you want to work on an issue, leave a comment letting us know that you want to work on it and we go from there.\n\nThank you!\n\n== JEE to Spring Boot Migration\nSpring Boot Migrator offers recipes to migrate JEE applications to Spring Boot.\n\nThese specifications are covered (to some extent and varying completeness)\n\n* Servlet\n* JAX-RS\n* SOAP\n* JMS\n* EJB\n* JPA\n* ejb-jar.xml\n* weblogic-ejb-jar.xml\n\nClick the image to watch a demo video [16:57]\n\nifdef::env-github[]\nimage:https://img.youtube.com/vi/PnvsLafekWE/maxresdefault.jpg[link=https://www.youtube.com/embed/PnvsLafekWE]\nendif::[]\n\n== How SBM works\n\nSpring Boot Migrator uses and is compatible with https://github.com/openrewrite/rewrite[OpenRewrite,window=_blank],\na powerful mass refactoring ecosystem for Java and other source code.\n\nSpring Boot Migrator offers a CLI to run recipes to migrate or upgrade a given application to Spring Boot.\nFor developing new and custom recipes, SBM provides an opinionated API compatible with OpenRewrite recipes\nand a set of specialized resource representations to simplify recipe development for Spring Boot.\n\n\n=== Scan application\nA given codebase is scanned and a set of recipes gets evaluated against the codebase. +\n\nimage::images/scan.png[]\n\n=== Apply a recipe\nThe list of applicable recipes is displayed and recipes can be selected from the list to be run against the codebase. +\nThe recipes either apply automated migrations or guide users on their migration journey.\n\nimage::images/apply.png[]\n\n\n== Spring Boot 3.0 Migrator - Java CLI\n\n* Download the latest release from here: https://github.com/spring-projects-experimental/spring-boot-migrator/releases/latest[Spring Boot Migrator Releases]\n* Start the application: `java -jar spring-boot-migrator.jar`\n* In the CLI start by scanning the application `scan \u003cpath-to-application\u003e`\n* From the list of applicable recipes select the one you want to apply, +\ne.g.: `apply initialize-spring-boot-migration` +\nSpring Boot Migrator will now apply the migrations defined in the recipe to the codebase.\n* To get help when using SBM use the `help` command\n\nNOTE: When using Windows you must either escape `\\` or use `/` as path separator, e.g. `C:\\\\my\\\\app` or `C:/my/app`\n\nNOTE: **SBM requires a JDK 17.**\n\n\n=== Building from source\n* Clone the repository\n* Change into root dir\n* Run `mvn clean install`\n* Find the jar in `applications/spring-shell/target/spring-boot-migrator.jar`\n\nWARNING: **Some integration tests use Docker so you'll need Docker to run them. +\nYou can pass the `-DskipTests` flag to the `mvn` command to ignore tests.**\n\n\n== Contributing\n\nIf you have not previously done so, please sign the https://cla.pivotal.io/sign/spring[Contributor License Agreement]. You will be reminded automatically when you submit the pull request.\n\nAll contributions are welcome.\n\nPlease refer to the link:CONTRIBUTING.adoc[] for more details.\n\n\n**This project requires Java 17.**\n\n== License\n\nhttps://www.apache.org/licenses/LICENSE-2.0[Apache License v2.0]\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspring-projects-experimental%2Fspring-boot-migrator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fspring-projects-experimental%2Fspring-boot-migrator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspring-projects-experimental%2Fspring-boot-migrator/lists"}