Some modules are interdependent. For example `spring-context` depends on `spring-beans` which in turn depends on `spring-core`. There are no required external dependencies although each module has optional dependencies and some of those may be required depending on what functionality the application needs.
There is no one "spring-all" jar that includes all sources.
There is no single "spring-all" jar that includes all modules.
## Maven Central
The Spring Framework publishes GA (general availability) versions to [Maven Central](https://central.sonatype.com/) which is automatically searched when using Maven, so just add the dependencies to your project's POM:
The Spring Framework publishes GA (general availability) versions to [Maven Central](https://central.sonatype.com/) which is automatically searched when using Maven or Gradle, so just add the dependencies to your project's build script:
Snapshot, milestone, and release candidate versions are published to an [Artifactory](https://www.jfrog.com/artifactory/) instance hosted by [JFrog](https://www.jfrog.com). You can use the Web UI at https://repo.spring.io to browse the Spring Artifactory, or go directly to one of the repositories listed below.
### Snapshots
Add the following to resolve snapshot versions – for example, `5.3.17-SNAPSHOT`:
Add the following to resolve snapshot versions – for example, `6.1.0-SNAPSHOT`:
#### Maven
```xml
<repository>
@ -46,13 +56,32 @@ Add the following to resolve snapshot versions – for example, `5.3.17-SNAPSHOT
@@ -46,13 +56,32 @@ Add the following to resolve snapshot versions – for example, `5.3.17-SNAPSHOT
Add the following to resolve milestone and RC versions – for example, `6.0.0-M2` or `6.0.0-RC1`:
Add the following to resolve milestone and RC versions – for example, `6.1.0-M2` or `6.1.0-RC1`:
#### Maven
```xml
<repository>
@ -66,13 +95,30 @@ Add the following to resolve milestone and RC versions – for example, `6.0.0-M
@@ -66,13 +95,30 @@ Add the following to resolve milestone and RC versions – for example, `6.0.0-M