The following repositories are available for all Spring projects. Much more information is available at the
Spring Repository FAQ
.
Release versions are available through
Maven Central
or via the
Spring Repository
:
repositories {
maven { url "https://repo.spring.io/release" }
<repository>
<id>spring-repo</id>
<name>Spring Repository</name>
<url>https://repo.spring.io/release</url>
</repository>
If you are developing against the latest milestone version, you will need to add the following repository in order to resolve the artifact:
repositories {
maven { url "https://repo.spring.io/milestone" }
<repository>
<id>spring-milestone</id>
<name>Spring Milestone Repository</name>
<url>https://repo.spring.io/milestone</url>
</repository>
If you are testing with the latest build snapshot, you will need to add the following repository:
repositories {
maven { url "https://repo.spring.io/snapshot" }
<repository>
<id>spring-snapshot</id>
<name>Spring Snapshot Repository</name>
<url>https://repo.spring.io/snapshot</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
The following is an example build.gradle for use with Android Studio and the new Android build system.
apply plugin: 'com.android.application'
android {
compileSdkVersion 21
buildToolsVersion '21.1.1'
defaultConfig {
applicationId 'org.springframework.demo'
minSdkVersion 15
targetSdkVersion 21
versionCode 1
versionName '1.0'
buildTypes {
release {
runProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
packagingOptions {
exclude 'META-INF/ASL2.0'
exclude 'META-INF/LICENSE'
exclude 'META-INF/license.txt'
exclude 'META-INF/NOTICE'
exclude 'META-INF/notice.txt'
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:support-v4:20.+'
compile 'org.springframework.android:spring-android-rest-template:2.0.0.M2'
compile 'org.apache.httpcomponents:httpclient-android:4.3.5'
compile 'com.fasterxml.jackson.core:jackson-databind:2.4.4'
The following
Maven POM file illustrates how to configure the
Maven Android Plugin and associated dependencies for use with Spring for Android.
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.springframework.android</groupId>
<artifactId>spring-android-client</artifactId>
<version>0.1.0.SNAPSHOT</version>
<packaging>apk</packaging>
<name>spring-android-client</name>
<url>http://projects.spring.io/spring-android</url>
<inceptionYear>2010</inceptionYear>
<organization>
<name>Spring</name>
<url>http://spring.io</url>
</organization>
<properties>
<android-platform>21</android-platform>
<android-maven-plugin-version>3.9.0-rc.2</android-maven-plugin-version>
<maven-compiler-plugin-version>3.1</maven-compiler-plugin-version>
<java-version>1.6</java-version>
<com.google.android-version>4.1.1.4</com.google.android-version>
<org.springframework.android-version>2.0.0.M2</org.springframework.android-version>
<org.apache.httpcomponents-version>4.3.5</org.apache.httpcomponents-version>
<com.fasterxml.jackson-version>2.3.4</com.fasterxml.jackson-version>
</properties>
<dependencies>
<dependency>
<groupId>com.google.android</groupId>
<artifactId>android</artifactId>
<version>${com.google.android-version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework.android</groupId>
<artifactId>spring-android-rest-template</artifactId>
<version>${org.springframework.android-version}</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient-android</artifactId>
<version>${org.apache.httpcomponents-version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>${com.fasterxml.jackson-version}</version>
</dependency>
</dependencies>
<repositories>
<repository>
<id>spring-milestone</id>
<name>Spring Milestones</name>
<url>http://repo.spring.io/libs-milestone</url>
</repository>
</repositories>
<build>
<finalName>${project.artifactId}</finalName>
<sourceDirectory>src</sourceDirectory>
<plugins>
<plugin>
<groupId>com.jayway.maven.plugins.android.generation2</groupId>
<artifactId>android-maven-plugin</artifactId>
<version>${android-maven-plugin-version}</version>
<configuration>
<platform>${android-platform}</platform>
<deleteConflictingFiles>true</deleteConflictingFiles>
<undeployBeforeDeploy>true</undeployBeforeDeploy>
</configuration>
<extensions>true</extensions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven-compiler-plugin-version}</version>
<configuration>
<source>${java-version}</source>
<target>${java-version}</target>
</configuration>
</plugin>
</plugins>
</build>
</project>