/spring-cloud-starters

Spring Cloud Starters (like Spring Boot Starters)

Primary LanguageShellApache License 2.0Apache-2.0

Spring Cloud Starters are curated sets of dependencies focused on a particular type of workload. Including a starter on your classpath is really just a shorthand for including its dependencies, but it makes it easier to organize your code and easier to remember what the dependencies are for. (See also Spring Boot starter projects.) Starters provided include:

  • spring-cloud-starter

  • spring-cloud-starter-bus-amqp

  • spring-cloud-starter-cloudfoundry

  • spring-cloud-starter-eureka

  • spring-cloud-starter-eureka-server

  • spring-cloud-starter-feign

  • spring-cloud-starter-hystrix

  • spring-cloud-starter-hystrix-dashboard

  • spring-cloud-starter-oauth2

  • spring-cloud-starter-ribbon

  • spring-cloud-starter-security

  • spring-cloud-starter-turbine

  • spring-cloud-starter-turbine-amqp

  • spring-cloud-starter-zuul

Contributing

Building and Deploying

Since there is no code to compile in the starters they should do not need to compile, but a compiler has to be available because they are built and deployed as JAR artifacts. To install locally:

$ mvn install -s .settings.xml

and to deploy snapshots to repo.spring.io:

$ mvn install -DaltSnapshotDeploymentRepository=repo.spring.io::default::https://repo.spring.io/libs-snapshot-local

for a RELEASE build use

$ mvn install -DaltReleaseDeploymentRepository=repo.spring.io::default::https://repo.spring.io/libs-release-local

and for Maven Central use

$ mvn install -P central -DaltReleaseDeploymentRepository=sonatype-nexus-staging::default::https://oss.sonatype.org/service/local/staging/deploy/maven2

(the "central" profile is available for all projects in Spring Cloud and it sets up the gpg jar signing, and the repository has to be specified separately for this project because it is a parent of the starter parent which users in turn have as their own parent).