Dependencies

Maven Dependency Management

<dependencies>
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-context</artifactId>
		<version>{spring-version}</version>
		<scope>runtime</scope>
	</dependency>
</dependencies>

Repositories

For full releases:

<repositories>
	<repository>
		<id>io.spring.repo.maven.release</id>
		<url>http://repo.spring.io/release/</url>
		<snapshots><enabled>false</enabled></snapshots>
	</repository>
</repositories>

For milestones:

<repositories>
	<repository>
		<id>io.spring.repo.maven.milestone</id>
		<url>http://repo.spring.io/milestone/</url>
		<snapshots><enabled>false</enabled></snapshots>
	</repository>
</repositories>

And for snapshots:

<repositories>
	<repository>
		<id>io.spring.repo.maven.snapshot</id>
		<url>http://repo.spring.io/snapshot/</url>
		<snapshots><enabled>true</enabled></snapshots>
	</repository>
</repositories>

Maven "Bill Of Materials" Dependency

It is possible to accidentally mix different versions of Spring JARs when using Maven. For example, you may find that a third-party library, or another Spring project, pulls in a transitive dependency to an older release. If you forget to explicitly declare a direct dependency yourself, all sorts of unexpected issues can arise.

To overcome such problems Maven supports the concept of a "bill of materials" (BOM) dependency. You can import the spring-framework-bom in your dependencyManagement section to ensure that all spring dependencies (both direct and transitive) are at the same version.

<dependencyManagement>
	<dependencies>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-framework-bom</artifactId>
			<version>{spring-version}</version>
			<type>pom</type>
			<scope>import</scope>
		</dependency>
	</dependencies>
</dependencyManagement>

An added benefit of using the BOM is that you no longer need to specify the <version> attribute when depending on Spring Framework artifacts:

<dependencies>
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-context</artifactId>
	</dependency>
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-web</artifactId>
	</dependency>
<dependencies>

Gradle Dependency Management

To use the Spring repository with the Gradle build system, include the appropriate URL in the repositories section:

repositories {
	mavenCentral()
        // jcenter()
	// and optionally...
	maven { url "http://repo.spring.io/release" }
}

You can change the repositories URL from /release to /milestone or /snapshot as appropriate. Once a repository has been configured, you can declare dependencies in the usual Gradle way:

dependencies {
	compile("org.springframework:spring-context:{spring-version}")
	testCompile("org.springframework:spring-test:{spring-version}")
}

results matching ""

    No results matching ""