Whether you’re building your project with Maven or Gradle or you’re working with the Spring Boot CLI, Spring Boot provides dependency management support for several libraries that are commonly used in Spring applications. Table D.1 lists all of the library dependencies supported by Spring Boot version 1.3.0.
In many cases, these dependencies will automatically be added to your project’s build and classpath by one of the Spring Boot starters (described in appendix A). If, however, you need a library that isn’t covered by the starters you’re using, you can explicitly declare the dependency in your Maven or Gradle build specification.
For instance, suppose you want to include the H2 embedded database in your project. In a Gradle build, you’d need to declare the following:
compile("com.h2database:h2")
The same dependency can be declared in a Maven build like this:
<dependency> <groupId>com.h2database</groupId> <version>h2</version> </dependency>
Notice that in both cases, you shouldn’t need to specify the version. Spring Boot’s dependency management will take care of that for you. You may, however, explicitly provide the version if you want to override the version chosen by Spring Boot.
If you’re using the Spring Boot CLI to run your application, you can use the @Grab annotation from Groovy like this:
@Grab("h2")
When using the @Grab annotation to include any of the libraries in table D.1, you only need to specify the artifact. Spring Boot extends @Grab to infer the group and version for you.
Artifact |
Version |
|
---|---|---|
antlr | antlr | 2.7.7 |
ch.qos.logback | logback-access | 1.1.3 |
ch.qos.logback | logback-classic | 1.1.3 |
com.atomikos | transactions-jdbc | 3.9.3 |
com.atomikos | transactions-jms | 3.9.3 |
com.atomikos | transactions-jta | 3.9.3 |
com.fasterxml.jackson.core | jackson-annotations | 2.6.3 |
com.fasterxml.jackson.core | jackson-core | 2.6.3 |
com.fasterxml.jackson.core | jackson-databind | 2.6.3 |
com.fasterxml.jackson.dataformat | jackson-dataformat-csv | 2.6.3 |
com.fasterxml.jackson.dataformat | jackson-dataformat-xml | 2.6.3 |
com.fasterxml.jackson.dataformat | jackson-dataformat-yaml | 2.6.3 |
com.fasterxml.jackson.datatype | jackson-datatype-hibernate4 | 2.6.3 |
com.fasterxml.jackson.datatype | jackson-datatype-hibernate5 | 2.6.3 |
com.fasterxml.jackson.datatype | jackson-datatype-jdk7 | 2.6.3 |
com.fasterxml.jackson.datatype | jackson-datatype-jdk8 | 2.6.3 |
com.fasterxml.jackson.datatype | jackson-datatype-joda | 2.6.3 |
com.fasterxml.jackson.datatype | jackson-datatype-jsr310 | 2.6.3 |
com.fasterxml.jackson.module | jackson-module-parameter-names | 2.6.3 |
com.gemstone.gemfire | gemfire | 8.1.0 |
com.github.mxab.thymeleaf.extras | thymeleaf-extras-data-attribute | 1.3 |
com.google.code.gson | gson | 2.3.1 |
com.googlecode.json-simple | json-simple | 1.1.1 |
com.h2database | h2 | 1.4.190 |
com.hazelcast | hazelcast | 3.5.3 |
com.hazelcast | hazelcast-spring | 3.5.3 |
com.jayway.jsonpath | json-path | 2.0.0 |
com.jayway.jsonpath | json-path-assert | 2.0.0 |
com.samskivert | jmustache | 1.11 |
com.sendgrid | sendgrid-java | 2.2.2 |
com.sun.mail | javax.mail | 1.5.4 |
com.timgroup | java-statsd-client | 3.1.0 |
com.zaxxer | HikariCP | 2.4.2 |
com.zaxxer | HikariCP-java6 | 2.3.12 |
commons-beanutils | commons-beanutils | 1.9.2 |
commons-collections | commons-collections | 3.2.1 |
commons-dbcp | commons-dbcp | 1.4 |
commons-digester | commons-digester | 2.1 |
commons-pool | commons-pool | 1.6 |
de.flapdoodle.embed | de.flapdoodle.embed.mongo | 1.50.0 |
io.dropwizard.metrics | metrics-core | 3.1.2 |
io.dropwizard.metrics | metrics-ganglia | 3.1.2 |
io.dropwizard.metrics | metrics-graphite | 3.1.2 |
io.dropwizard.metrics | metrics-servlets | 3.1.2 |
io.projectreactor | reactor-bus | 2.0.7.RELEASE |
io.projectreactor | reactor-core | 2.0.7.RELEASE |
io.projectreactor | reactor-groovy | 2.0.7.RELEASE |
io.projectreactor | reactor-groovy-extensions | 2.0.7.RELEASE |
io.projectreactor | reactor-logback | 2.0.7.RELEASE |
io.projectreactor | reactor-net | 2.0.7.RELEASE |
io.projectreactor | reactor-stream | 2.0.7.RELEASE |
io.projectreactor.spring | reactor-spring-context | 2.0.6.RELEASE |
io.projectreactor.spring | reactor-spring-core | 2.0.6.RELEASE |
io.projectreactor.spring | reactor-spring-messaging | 2.0.6.RELEASE |
io.projectreactor.spring | reactor-spring-webmvc | 2.0.6.RELEASE |
io.undertow | undertow-core | 1.3.5.Final |
io.undertow | undertow-servlet | 1.3.5.Final |
io.undertow | undertow-websockets-jsr | 1.3.5.Final |
javax.cache | cache-api | 1.0.0 |
javax.jms | jms-api | 1.1-rev-1 |
javax.mail | javax.mail-api | 1.5.4 |
javax.servlet | javax.servlet-api | 3.1.0 |
javax.servlet | jstl | 1.2 |
javax.transaction | javax.transaction-api | 1.2 |
jaxen | jaxen | 1.1.6 |
joda-time | joda-time | 2.8.2 |
junit | junit | 4.12 |
log4j | log4j | 1.2.17 |
mysql | mysql-connector-java | 5.1.37 |
net.sf.ehcache | ehcache | 2.10.1 |
net.sourceforge.nekohtml | nekohtml | 1.9.22 |
nz.net.ultraq.thymeleaf | thymeleaf-layout-dialect | 1.3.1 |
org.apache.activemq | activemq-amqp | 5.12.1 |
org.apache.activemq | activemq-blueprint | 5.12.1 |
org.apache.activemq | activemq-broker | 5.12.1 |
org.apache.activemq | activemq-camel | 5.12.1 |
org.apache.activemq | activemq-client | 5.12.1 |
org.apache.activemq | activemq-console | 5.12.1 |
org.apache.activemq | activemq-http | 5.12.1 |
org.apache.activemq | activemq-jaas | 5.12.1 |
org.apache.activemq | activemq-jdbc-store | 5.12.1 |
org.apache.activemq | activemq-jms-pool | 5.12.1 |
org.apache.activemq | activemq-kahadb-store | 5.12.1 |
org.apache.activemq | activemq-karaf | 5.12.1 |
org.apache.activemq | activemq-leveldb-store | 5.12.1 |
org.apache.activemq | activemq-log4j-appender | 5.12.1 |
org.apache.activemq | activemq-mqtt | 5.12.1 |
org.apache.activemq | activemq-openwire-generator | 5.12.1 |
org.apache.activemq | activemq-openwire-legacy | 5.12.1 |
org.apache.activemq | activemq-osgi | 5.12.1 |
org.apache.activemq | activemq-partition | 5.12.1 |
org.apache.activemq | activemq-pool | 5.12.1 |
org.apache.activemq | activemq-ra | 5.12.1 |
org.apache.activemq | activemq-run | 5.12.1 |
org.apache.activemq | activemq-runtime-config | 5.12.1 |
org.apache.activemq | activemq-shiro | 5.12.1 |
org.apache.activemq | activemq-spring | 5.12.1 |
org.apache.activemq | activemq-stomp | 5.12.1 |
org.apache.activemq | activemq-web | 5.12.1 |