Skip to content

Instantly share code, notes, and snippets.

@fernandoabcampos
Created February 24, 2016 22:31
Show Gist options
  • Star 16 You must be signed in to star a gist
  • Fork 11 You must be signed in to fork a gist
  • Save fernandoabcampos/c380e4354e4443d36619 to your computer and use it in GitHub Desktop.
Save fernandoabcampos/c380e4354e4443d36619 to your computer and use it in GitHub Desktop.
fernando@fernando-Vostro-5470:~$ curl start.spring.io
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Initializr :: https://start.spring.io
This service generates quickstart projects that can be easily customized.
Possible customizations include a project's dependencies, Java version, and
build system or build structure. See below for further details.
The services uses a HAL based hypermedia format to expose a set of resources
to interact with. If you access this root resource requesting application/json
as media type the response will contain the following links:
+-----------------+-----------------------------------------+
| Rel | Description |
+-----------------+-----------------------------------------+
| gradle-build | Generate a Gradle build file |
| gradle-project | Generate a Gradle based project archive |
| maven-build | Generate a Maven pom.xml |
| maven-project * | Generate a Maven based project archive |
+-----------------+-----------------------------------------+
The URI templates take a set of parameters to customize the result of a request
to the linked resource.
+-----------------+------------------------------------------+------------------------------+
| Parameter | Description | Default value |
+-----------------+------------------------------------------+------------------------------+
| applicationName | application name | DemoApplication |
| artifactId | project coordinates (infer archive name) | demo |
| baseDir | base directory to create in the archive | no base dir |
| bootVersion | spring boot version | 1.3.2.RELEASE |
| dependencies | dependency identifiers (comma-separated) | none |
| description | project description | Demo project for Spring Boot |
| groupId | project coordinates | com.example |
| javaVersion | language level | 1.8 |
| language | programming language | java |
| name | project name (infer application name) | demo |
| packageName | root package | com.example |
| packaging | project packaging | jar |
| type | project type | maven-project |
| version | project version | 0.0.1-SNAPSHOT |
+-----------------+------------------------------------------+------------------------------+
The following section has a list of supported identifiers for the comma-separated
list of "dependencies".
+-----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------------------+
| Id | Description | Required version |
+-----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------------------+
| activiti-basic | Activiti BPMN workflow engine | |
| actuator | Production ready features to help you monitor and manage your application | |
| actuator-docs | API documentation for the Actuator endpoints | >= 1.3.0.M4 |
| amqp | Advanced Message Queuing Protocol via spring-rabbit | |
| aop | Aspect-oriented programming including spring-aop and AspectJ | |
| artemis | Java Message Service API via Apache Artemis | >= 1.3.0.M2 |
| batch | Spring Batch including HSQLDB database | |
| cache | Spring's Cache abstraction | >= 1.3.0.M1 |
| cloud-aws | AWS native services from spring-cloud-aws | >= 1.2.3.RELEASE |
| cloud-aws-jdbc | Relational databases on AWS with RDS and spring-cloud-aws-jdbc | >= 1.2.3.RELEASE |
| cloud-aws-messaging | Messaging on AWS with SQS and spring-cloud-aws-messaging | >= 1.2.3.RELEASE |
| cloud-bus-amqp | A simple control bus with AMQP and spring-cloud-bus-amqp | >= 1.2.3.RELEASE |
| cloud-bus-kafka | A simple control bus with Kafka and spring-cloud-bus | (1.3.0.M5,9999.9.9.RELEASE] |
| cloud-bus-redis | A simple control bus with Redis and spring-cloud-bus | (1.3.0.M5,9999.9.9.RELEASE] |
| cloud-cloudfoundry-discovery | Service discovery with Cloud Foundry | >= 1.3.0.M4 |
| cloud-cluster-hazelcast | Leadership election and global state with Hazelcast and spring-cloud-cluster-hazelcast | >= 1.3.0.M4 |
| cloud-cluster-redis | Leadership election and global state with Redis and spring-cloud-cluster-redis | >= 1.3.0.M4 |
| cloud-cluster-zookeeper | Leadership election and global state with Zookeeper and spring-cloud-cluster-zookeeper | >= 1.3.0.M4 |
| cloud-config-client | spring-cloud-config Client | >= 1.2.3.RELEASE |
| cloud-config-server | Central management for configuration via a git or svn backend | >= 1.2.3.RELEASE |
| cloud-connectors | Simplifies connecting to services in cloud platforms, including spring-cloud-connector and spring-cloud-cloudfoundry-connector | >= 1.2.0.RELEASE |
| cloud-dataflow-server-local | Local Data Flow Server implementation | >= 1.3.2.RELEASE |
| cloud-eureka | Service discovery using spring-cloud-netflix and Eureka | >= 1.2.3.RELEASE |
| cloud-eureka-server | spring-cloud-netflix Eureka Server | >= 1.2.3.RELEASE |
| cloud-feign | Declarative REST clients with spring-cloud-netflix Feign | >= 1.2.3.RELEASE |
| cloud-hystrix | Circuit breaker with spring-cloud-netflix Hystrix | >= 1.2.3.RELEASE |
| cloud-hystrix-dashboard | Circuit breaker dashboard with spring-cloud-netflix Hystrix | >= 1.2.3.RELEASE |
| cloud-oauth2 | OAuth2 and distributed application patterns with spring-cloud-security | >= 1.2.3.RELEASE |
| cloud-ribbon | Client side load balancing with spring-cloud-netflix and Ribbon | >= 1.2.3.RELEASE |
| cloud-security | Secure load balancing and routing with spring-cloud-security | >= 1.2.3.RELEASE |
| cloud-sleuth-stream | Marshals Spring Cloud Sleuth Spans over a Spring Cloud Stream binder | >= 1.3.0.M4 |
| cloud-sleuth-zipkin-stream | Consumes messages from Spring Cloud Sleuth Stream delivered over a Spring Cloud Stream binder and writes them to a Zipkin store | >= 1.3.0.M4 |
| cloud-starter | spring-cloud-context (e.g. Bootstrap context and @RefreshScope) | >= 1.2.3.RELEASE |
| cloud-starter-consul-config | Configuration management with Hashicorp Consul | >= 1.3.0.M4 |
| cloud-starter-consul-discovery | Service discovery with Hashicorp Consul | >= 1.3.0.M4 |
| cloud-starter-sleuth | Distributed tracing via logs with spring-cloud-sleuth | >= 1.3.0.M4 |
| cloud-starter-zipkin | Distributed tracing with an existing Zipkin installation and spring-cloud-sleuth-zipkin. Alternatively, consider Zipkin Stream and Sleuth Stream. | >= 1.3.0.M4 |
| cloud-starter-zookeeper-config | Configuration management with Zookeeper and spring-cloud-zookeeper-config | >= 1.3.0.M4 |
| cloud-starter-zookeeper-discovery | Service discovery with Zookeeper and spring-cloud-zookeeper-discovery | >= 1.3.0.M4 |
| cloud-stream-binder-kafka | Messaging microservices with Kafka | >= 1.3.0.M4 |
| cloud-stream-binder-rabbit | Messaging microservices with RabbitMQ | >= 1.3.0.M4 |
| cloud-stream-binder-redis | Messaging microservices with Redis | >= 1.3.0.M4 |
| cloud-turbine | Circuit breaker metric aggregation using spring-cloud-netflix with Turbine and server-sent events | >= 1.2.3.RELEASE |
| cloud-turbine-amqp | Circuit breaker metric aggregation using spring-cloud-netflix with Turbine and AMQP | [0.0.0.RELEASE,1.3.0.M5] |
| cloud-turbine-stream | Circuit breaker metric aggregation using spring-cloud-netflix with Turbine and Spring Cloud Stream (choose a specific Stream binder implementation to complement this) | (1.3.0.M5,999.9.9.RELEASE] |
| cloud-zuul | Intelligent and programmable routing with spring-cloud-netflix Zuul | >= 1.2.3.RELEASE |
| data-cassandra | Cassandra NoSQL Database, including spring-data-cassandra | >= 1.3.0.RC1 |
| data-couchbase | Couchbase NoSQL database, including spring-data-couchbase | >= 1.4.0.M1 |
| data-elasticsearch | Elasticsearch search and analytics engine including spring-data-elasticsearch | |
| data-gemfire | GemFire distributed data store including spring-data-gemfire | |
| data-jpa | Java Persistence API including spring-data-jpa, spring-orm and Hibernate | |
| data-jpa | Java Persistence API including spring-data-jpa, spring-orm and Hibernate | |
| data-mongodb | MongoDB NoSQL Database, including spring-data-mongodb | |
| data-redis | REDIS key-value data store, including spring-redis | >= 1.4.0.M1 |
| data-rest | Exposing Spring Data repositories over REST via spring-data-rest-webmvc | |
| data-rest-hal | Browsing Spring Data REST repositories with an HTML UI | >= 1.3.0.M1 |
| data-solr | Apache Solr search platform, including spring-data-solr | |
| derby | Apache Derby database (with embedded support) | >= 1.2.2.RELEASE |
| devtools | Spring Boot Development Tools | >= 1.3.0.M1 |
| freemarker | FreeMarker templating engine | |
| groovy-templates | Groovy templating engine | |
| h2 | H2 database (with embedded support) | |
| hateoas | HATEOAS-based RESTful services | >= 1.2.2.RELEASE |
| hornetq | Java Message Service API via HornetQ | |
| hsql | HSQLDB database (with embedded support) | |
| integration | Common spring-integration modules | |
| jdbc | JDBC databases | |
| jersey | the Jersey RESTful Web Services framework | >= 1.2.0.RELEASE |
| jooq | Persistence support using Java Object Oriented Querying | >= 1.3.0.M2 |
| jta-atomikos | JTA distributed transactions via Atomikos | >= 1.2.0.M1 |
| jta-bitronix | JTA distributed transactions via Bitronix | >= 1.2.0.M1 |
| lombok | Java annotation library which help to reduce boilerplate code and code faster | |
| mail | javax.mail | >= 1.2.0.RC1 |
| mobile | Simplify the development of mobile web applications with spring-mobile | |
| mustache | Mustache templating engine | >= 1.2.2.RELEASE |
| mysql | MySQL jdbc driver | |
| postgresql | PostgreSQL jdbc driver | |
| ratpack | Spring Boot integration for the Ratpack framework | >= 1.2.0.RELEASE |
| redis | REDIS key-value data store, including spring-redis | [1.1.5.RELEASE,1.4.0.M1) |
| remote-shell | CRaSH shell integration | |
| restdocs | Document RESTful services by combining hand-written and auto-generated documentation | |
| retry | Provide declarative retry support via spring-retry | >= 1.3.0.M2 |
| security | Secure your application via spring-security | |
| session | API and implementations for managing a user’s session information | >= 1.3.0.M2 |
| social-facebook | spring-social-facebook | |
| social-linkedin | spring-social-linkedin | |
| social-twitter | spring-social-twitter | |
| thymeleaf | Thymeleaf templating engine, including integration with Spring | |
| vaadin | Vaadin | |
| validation | JSR-303 validation infrastructure (already included with web) | >= 1.3.0.M1 |
| velocity | Velocity templating engine | |
| web | Full-stack web development with Tomcat and Spring MVC | |
| websocket | Websocket development with SockJS and STOMP | |
| ws | Contract-first SOAP service development with Spring Web Services | |
+-----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------------------+
Examples:
To create a default demo.zip:
$ curl https://start.spring.io/starter.zip -o demo.zip
To create a web project using Java 7:
$ curl https://start.spring.io/starter.zip -d dependencies=web \
-d javaVersion=1.7 -o demo.zip
To create a web/data-jpa gradle project unpacked:
$ curl https://start.spring.io/starter.tgz -d dependencies=web,data-jpa \
-d type=gradle-project -d baseDir=my-dir | tar -xzvf -
To generate a Maven POM with war packaging:
$ curl https://start.spring.io/pom.xml -d packaging=war -o pom.xml
@geboyn
Copy link

geboyn commented Mar 29, 2018

How can I specify a version for a dependency? For example, if I want to use a curl command to create a project with postgresql-9.6, how could I achieve that?

@maciejwalkowiak
Copy link

@geboyn You don't. This is not offered neither by start.spring.io UI nor curl command. You must overwrite it in the generated project manually.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment