Skip to content

Build from Source

Brian Clozel edited this page Sep 15, 2021 · 32 revisions

This document describes how to build the Spring Framework from the command line and how to import the Spring Framework projects into an IDE. You may also be interested to see Code Style and IntelliJ IDEA Editor Settings.

The Spring Framework uses a Gradle build. The instructions below use the Gradle Wrapper from the root of the source tree. The wrapper script serves as a cross-platform, self-contained bootstrap mechanism for the build system.

Before You Start

To build you will need Git and JDK 17. Be sure that your JAVA_HOME environment variable points to the jdk17 folder extracted from the JDK download.

Get the Source Code

git clone [email protected]:spring-projects/spring-framework.git
cd spring-framework

Build from the Command Line

To compile, test, and build all jars, distribution zips, and docs use:

./gradlew build

The first time you run the build it may take a while to download Gradle and all build dependencies, as well as to run all tests. Once you've bootstrapped a Gradle distribution and downloaded dependencies, those are cached in your $HOME/.gradle directory.

Gradle has good incremental build support, so run without clean to keep things snappy. You can also use the -a flag and the :project prefix to avoid evaluating and building other modules. For example, if iterating over changes in spring-webmvc, run with the following to evaluate and build only that module:

./gradlew -a :spring-webmvc:test

Install in local Maven repository

To install all Spring Framework jars in your local Maven repository, use the following.

Note that the -x ... arguments skip the generation of documentation.

./gradlew publishToMavenLocal -x api -x asciidoctor -x asciidoctorPdf

If you are building a previous version of the framework (for example, Spring Framework 5.1.x), use:

./gradlew install -x javadoc

Import into your IDE

Ensure JDK 17 is configured properly in the IDE. Follow instructions for Eclipse and IntelliJ IDEA.