An experimental project aimed at migrating legacy Struts 1.x-based applications to a Spring Boot architecture with minimal code changes. Springing Struts1 is a Spring Boot-based web framework that provides a Struts 1.x-compatible API, enabling legacy Java systems to migrate to a modern architecture with reduced cost and risk.
Springing Struts 1 Core Module works as a drop-in replacement for the following modules:
- org.apache.struts:struts-core:1.x
- org.apache.struts:struts-extras:1.x
- org.apache.struts:struts-taglib:1.x
- org.apache.struts:struts-tiles:1.x
- commons-validator:commons-validator:1.x
- javax.servlet:servlet-api:2.x
For example, if your project is built with Maven, replacing the <dependency>
entries for the above modules with the following entry will work.
<dependency>
<groupId>io.github.iwauo.springing-struts</groupId>
<artifactId>struts1-core</artifactId>
<version>0.0.5</version>
</dependency>
The following projects demonstrate migration from the official Struts 1.x demo applications using this library:
- A Unix-based system (Mac, WSL2, SteamOS, etc.)
- Mise version manager
Run the following commands in your terminal.
git clone https://github.com/springing-struts/struts1-core.git
cd struts1-core
mise install
./struts1-core/scripts/build.sh