Spring Boot CLI
i
Spring Boot CLI
About the Tutorial
Spring Boot CLI is a command line tool, which is used for a quick start with Spring. It
allows running Groovy scripts. Groovy scripts are similar to Java code without any
boilerplate code. Spring CLI helps to bootstrap a new project or write custom command
for it.
Audience
This tutorial will be useful for most Java developers, starting from beginners to experts.
After completing this tutorial, you will find yourself at a moderate level of expertise in
Spring Boot CLI, from where you can take yourself to next levels.
Prerequisites
Knowledge of basic Java programming language and Spring is the only prerequisite for
learning the concepts explained in this tutorial.
Copyright & Disclaimer
Copyright 2018 by Tutorials Point (I) Pvt. Ltd.
All the content and graphics published in this e-book are the property of Tutorials Point (I)
Pvt. Ltd. The user of this e-book is prohibited to reuse, retain, copy, distribute or republish
any contents or a part of contents of this e-book in any manner without written consent
of the publisher.
We strive to update the contents of our website and tutorials as timely and as precisely as
possible, however, the contents may contain inaccuracies or errors. Tutorials Point (I) Pvt.
Ltd. provides no guarantee regarding the accuracy, timeliness or completeness of our
website or its contents including this tutorial. If you discover any errors on our website or
in this tutorial, please notify us at [email protected]
i
Spring Boot CLI
Table of Contents
About the Tutorial ............................................................................................................................................ i
Audience ........................................................................................................................................................... i
Prerequisites ..................................................................................................................................................... i
Copyright & Disclaimer ..................................................................................................................................... i
Table of Contents ............................................................................................................................................ ii
1. Spring Boot CLI — Overview ..................................................................................................................... 1
Features ........................................................................................................................................................... 1
2. Spring Boot CLI — Environment Setup ...................................................................................................... 2
Step 1 - Setup Java Development Kit (JDK) ...................................................................................................... 2
Step 2 - Install Spring Boot CLI ......................................................................................................................... 2
Step 3 - Verify installation ............................................................................................................................... 3
3. Spring Boot CLI — Hello World Example ................................................................................................... 4
Step 1: Create source Folder ........................................................................................................................... 4
Step 2: Create Source File ................................................................................................................................ 4
Step 3: Run the application ............................................................................................................................. 4
Step 4: Browse the application in Browser...................................................................................................... 7
4. Spring Boot CLI — "grab" Dependency Deduction..................................................................................... 8
Grab Hints ........................................................................................................................................................ 8
5. Spring Boot CLI — "grab" Co-ordinates Deduction .................................................................................. 10
6. Spring Boot CLI — Default Statements .................................................................................................... 55
Default Imports ............................................................................................................................................. 55
Automatic Main Method ............................................................................................................................... 56
7. Spring Boot CLI — Starter Thymeleaf Project .......................................................................................... 57
Run the application ....................................................................................................................................... 58
Browse the application in Browser ................................................................................................................ 59
Important points ........................................................................................................................................... 59
ii
Spring Boot CLI
8. Spring Boot CLI — Testing Application .................................................................................................... 60
Run the application ....................................................................................................................................... 60
Important points ........................................................................................................................................... 61
9. Spring Boot CLI — Packaging Application ................................................................................................ 62
Package the application ................................................................................................................................. 62
Include/Exclude ............................................................................................................................................. 62
Running the Executable Jar ........................................................................................................................... 63
Browse the application in Browser ................................................................................................................ 63
10. Spring Boot CLI — Creating Project ......................................................................................................... 64
Create Gradle project .................................................................................................................................... 64
11. Spring Boot CLI — Using Shell ................................................................................................................. 65
Running Commands in Shell .......................................................................................................................... 65
Testing the application in shell ...................................................................................................................... 65
iii
1. Spring Boot CLI — Overview Spring Boot CLI
The Spring Boot CLI is a Command Line Interface for Spring Boot. It can be used for a
quick start with Spring. It can run Groovy scripts which means that a developer need not
write boilerplate code; all that is needed is focus on business logic. Spring Boot CLI is the
fastest way to create a Spring-based application.
Features
In this section, we will look at the different features of Spring Boot CLI −
It provides an interface to run and test Spring Boot Application from the Command
Prompt.
It internally uses Spring Boot Starter and Spring Boot AutoConfigurate components
in order to resolve all dependencies and execute the application.
It contains Groovy compiler and Grape Dependency Manager.
It supports Groovy Scripts without external Groovy installation.
It adds Spring Boot defaults and resolve all dependencies automatically.
1
2. Spring Boot CLI — Environment Setup Spring Boot CLI
Spring is a Java-based framework; hence, we need to set up JDK first. Following are the
steps needed to setup Spring Boot CLI along with JDK installation.
Step 1 - Setup Java Development Kit (JDK)
You can download the latest version of SDK from Oracle's Java site − Java SE
Downloads. You will find instructions for installing JDK in downloaded files. Follow the
given instructions to install and configure the setup. Finally set PATH and JAVA_HOME
environment variables to refer to the directory that contains Java and Javac, typically
java_install_dir/bin and java_install_dir respectively.
If you are running Windows and have installed the JDK in C:\jdk1.6.0_15, you would
have to put the following line in your C:\autoexec.bat file −
set PATH=C:\jdk1.6.0_15\bin;%PATH%
set JAVA_HOME=C:\jdk1.6.0_15
Alternatively, on Windows NT/2000/XP, you will have to right-click on My Computer,
select Properties → Advanced → Environment Variables. Then, you will have to update the
PATH value and click the OK button.
On Unix (Solaris, Linux, etc.), if the SDK is installed in /usr/local/jdk1.6.0_15 and you
use the C shell, you will have to put the following into your .cshrc file −
setenv PATH /usr/local/jdk1.6.0_15/bin:$PATH
setenv JAVA_HOME /usr/local/jdk1.6.0_15
Step 2 - Install Spring Boot CLI
You can download the latest version of Spring Boot CLI API as ZIP archive
from https://repo.spring.io/release/org/springframework/boot/spring-boot-cli/. Once you
download the installation, unpack the zip distribution into a convenient location. For
example, in E:\Test\spring-1.5.8.RELEASE on Windows, or /usr/local/spring-
1.5.8.RELEASE on Linux/Unix.
Make sure you set your CLASSPATH variable on this directory properly otherwise, you will
face a problem while running your application.
Or set the path in Command Prompt temporarily to run the Spring Boot application as
shown below −
E:/Test/> set path=E:\Test\spring-1.5.8.RELEASE\bin;%PATH%
2
Spring Boot CLI
Step 3 - Verify installation
Run the following command on the Command Prompt to verify the installation –
E:/Test/> spring --version
It should print the following output confirming the successful installation −
Spring CLI v1.5.8.RELEASE
3
3. Spring Boot CLI — Hello World Example Spring Boot CLI
In this example, we will create a Spring Boot + MVC + Rest-based Web application.
Step 1: Create source Folder
Create a folder FirstApplication in E:\Test folder.
Step 2: Create Source File
Create FirstApplication.groovy file in E:\Test folder with the following source code –
@RestController
class FirstApplication {
@RequestMapping("/")
String welcome() {
"Welcome to TutorialsPoint.Com"
}
}
Step 3: Run the application
Type the following command –
E:/Test/> spring run FirstApplication.groovy
Now Spring Boot CLI will come into action, download the required dependencies, run the
embedded tomcat, deploy the application and start it. You can see the following output on
console –
Resolving
dependencies..........................................................
...............................................................................
.
........................
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _> | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
4
Spring Boot CLI
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v1.5.8.RELEASE)
2017-11-07 17:36:55.703 INFO 5528 --- [ runner-0]
o.s.boot.SpringApplication:
Starting application on ...
2017-11-07 17:36:55.707 INFO 5528 --- [ runner-0]
o.s.boot.SpringApplication:
No active profile set, falling back to default profiles: default
2017-11-07 17:36:56.067 INFO 5528 --- [ runner-0]
ationConfigEmbeddedWebApplicationContext : Refreshing
org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicatio
nContext@4c108392: startup date [Tue Nov 07 17:36:
56 IST 2017]; root of context hierarchy
2017-11-07 17:36:57.327 INFO 5528 --- [ runner-0]
s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat initialized with port(s):
8080 (http)
2017-11-07 17:36:57.346 INFO 5528 --- [ runner-0]
o.apache.catalina.core.StandardService : Starting service [Tomcat]
2017-11-07 17:36:57.354 INFO 5528 --- [ runner-0]
org.apache.catalina.core.StandardEngine : Starting Servlet Engine: Apache
Tomcat/8.5.23
2017-11-07 17:36:57.537 INFO 5528 --- [ost-startStop-1]
org.apache.catalina.loader.WebappLoader : Unknown loader
org.springframework.boot.cli.compiler.ExtendedGroovyClassLoader$DefaultScopePar
entClassLoader@41bfad4f class org.springframew
ork.boot.cli.compiler.ExtendedGroovyClassLoader$DefaultScopeParentClassLoader
2017-11-07 17:36:57.567 INFO 5528 --- [ost-startStop-1]
o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded
WebApplicationContext
2017-11-07 17:36:57.567 INFO 5528 --- [ost-startStop-1]
o.s.web.context.ContextLoader : Root WebApplicationContext:
initialization completed in 1500 ms
2017-11-07 17:36:57.725 INFO 5528 --- [ost-startStop-1]
o.s.b.w.servlet.ServletRegistrationBean : Mapping servlet: 'dispatcherServlet'
to [/]
2017-11-07 17:36:57.730 INFO 5528 --- [ost-startStop-1]
o.s.b.w.servlet.FilterRegistrationBean : Mapping filter:
'characterEncodingFilter' to: [/*]
2017-11-07 17:36:57.730 INFO 5528 --- [ost-startStop-1]
o.s.b.w.servlet.FilterRegistrationBean : Mapping filter:
'hiddenHttpMethodFilter' to: [/*]
5
Spring Boot CLI
2017-11-07 17:36:57.730 INFO 5528 --- [ost-startStop-1]
o.s.b.w.servlet.FilterRegistrationBean : Mapping filter:
'httpPutFormContentFilter' to: [/*]
2017-11-07 17:36:57.730 INFO 5528 --- [ost-startStop-1]
o.s.b.w.servlet.FilterRegistrationBean : Mapping filter:
'requestContextFilter' to: [/*]
2017-11-07 17:36:58.012 INFO 5528 --- [ runner-0]
s.w.s.m.m.a.RequestMappingHandlerAdapter : Looking for @ControllerAdvice:
org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicatio
nContext@4c108392: startup date [Tue Nov 07 17:36:56 IST 2017]; root of context
hierarchy
2017-11-07 17:36:58.066 INFO 5528 --- [ runner-0]
s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/]}" onto public
java.lang.String FirstApplication.home()
2017-11-07 17:36:58.070 INFO 5528 --- [ runner-0]
s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error]}" onto public
org.springframework.http.ResponseEntity<java.util.map>
org.springframework.boot.autoconfigure.web.BasicErrorController.error(javax.ser
vlet.http.HttpServletRequest)
2017-11-07 17:36:58.071 INFO 5528 --- [ runner-0]
s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped
"{[/error],produces=[text/html]}" onto public
org.springframework.web.servlet.ModelAndView
org.springframework.boot.autoconfigure.web
.BasicErrorController.errorHtml(javax.servlet.http.HttpServletRequest,javax.ser
vlet.http.HttpServletResponse)
2017-11-07 17:36:58.096 INFO 5528 --- [ runner-0]
o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped URL path [/webjars/**] onto
handler of type [class
org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2017-11-07 17:36:58.096 INFO 5528 --- [ runner-0]
o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped URL path [/**] onto handler
of type [class
org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2017-11-07 17:36:58.129 INFO 5528 --- [ runner-0]
o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped URL path [/**/favicon.ico]
onto handler of type [class
org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2017-11-07 17:36:58.626 INFO 5528 --- [ runner-0]
o.s.j.e.a.AnnotationMBeanExporter : Registering beans for JMX exposure
on startup
2017-11-07 17:36:58.696 INFO 5528 --- [ runner-0]
s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8080
(http)
2017-11-07 17:36:58.699 INFO 5528 --- [ runner-0]
o.s.boot.SpringApplication : Started application in 3.529 seconds
(JVM running for 190.196)
6
Spring Boot CLI
2017-11-07 17:37:20.217 INFO 5528 --- [nio-8080-exec-1]
o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring FrameworkServlet
'dispatcherServlet'
2017-11-07 17:37:20.218 INFO 5528 --- [nio-8080-exec-1]
o.s.web.servlet.DispatcherServlet : FrameworkServlet
'dispatcherServlet': initialization started
2017-11-07 17:37:20.238 INFO 5528 --- [nio-8080-exec-1]
o.s.web.servlet.DispatcherServlet : FrameworkServlet
'dispatcherServlet': initialization completed in 20 ms</java.util.map
Step 4: Browse the application in Browser
Our Spring-based rest application is now ready. Open URL "http://localhost:8080/"
and you will see the following output –
Hello World
Important points
Consider the following points to understand how Spring CLI works.
All dependency JARs are downloaded for the first time only.
Spring CLI automatically detects the dependency JARs to be downloaded based on
the classes and annotations used in code.
Finally after the compilation of the code, deploy the war file on an embedded tomcat
and start embedded tomcat server on the default port 8080.
7
4. Spring Boot CLI — "grab" Dependency Spring Boot CLI
Deduction
Standard Groovy codebase contains a @Grab annotation so that dependencies on third-
party libraries can be declared. Using the @Grab annotation, the Grape Dependency
Manager downloads jar in similar fashion as that of Maven/Gradle without any build tool.
Spring Boot attempts to deduce the required libraries based on code. For example, use of
@RestController tells that "Tomcat" and "Spring MVC" libraries are to be grabbed.
Grab Hints
The following table lists down the hints that Spring Boot uses to download third party
libraries –
Sr.No. Hint & Dependency to Ddwnload/Link
1 JdbcTemplate, NamedParameterJdbcTemplate, DataSource
JDBC Application
2 @EnableJms
JMS Application
3 @EnableCaching
Caching abstraction
4 @Test
JUnit
5 @EnableRabbit
RabbitMQ
6 @EnableReactor
Project Reactor
7 extends Specification
Spock test
8 @EnableBatchProcessing
8
Spring Boot CLI
Spring Batch
9 @MessageEndpoint, @EnableIntegrationPatterns
Spring Integration
10 @EnableDeviceResolver
Spring Mobile
11 @Controller, @RestController, @EnableWebMvc
Spring MVC + Embedded Tomcat
12 @EnableWebSecurity
Spring Security
13 @EnableTransactionManagement
Spring Transaction Management
9
5. Spring Boot CLI — "grab" Co-ordinates Spring Boot CLI
Deduction
We can specify a dependency using the @Grab annotation even without specifying group
or version. For example,
@Grab('antlr')
Now Spring Boot CLI will download 2.7.7 version of antlr as it is present in Spring Boot's
default dependency metadata for 1.5.8 version. Spring Boot maintains all dependency
versions by default, which are provided in its CLI, Maven dependency management and
Gradle plugin. Whenever we declare a dependency of any of those artifacts present in
default dependency metadata without declaring a version, the version listed in its table
will be used.
The following table shows all the dependencies and their versions included in the default
metadata for Spring Boot CLI 1.5.8 version.
Group Id Artifact Id Version
antlr antlr 2.7.7
ch.qos.logback logback-access 1.1.11
ch.qos.logback logback-classic 1.1.11
ch.qos.logback logback-core 1.1.11
com.atomikos transactions-jdbc 3.9.3
com.atomikos transactions-jms 3.9.3
com.atomikos transactions-jta 3.9.3
com.couchbase.client couchbase-spring-cache 2.1.0
10
Spring Boot CLI
com.couchbase.client java-client 2.3.7
com.datastax.cassandra cassandra-driver-core 3.1.4
com.datastax.cassandra cassandra-driver- 3.1.4
mapping
com.fasterxml classmate 1.3.4
com.fasterxml.jackson.core jackson-annotations 2.8.0
com.fasterxml.jackson.core jackson-core 2.8.10
com.fasterxml.jackson.core jackson-databind 2.8.10
com.fasterxml.jackson.dataform jackson-dataformat- 2.8.10
at avro
com.fasterxml.jackson.dataform jackson-dataformat- 2.8.10
at cbor
com.fasterxml.jackson.dataform jackson-dataformat-csv 2.8.10
at
com.fasterxml.jackson.dataform jackson-dataformat-ion 2.8.10
at
com.fasterxml.jackson.dataform jackson-dataformat- 2.8.10
at properties
com.fasterxml.jackson.dataform jackson-dataformat- 2.8.10
at protobuf
11
Spring Boot CLI
com.fasterxml.jackson.dataform jackson-dataformat- 2.8.10
at smile
com.fasterxml.jackson.dataform jackson-dataformat-xml 2.8.10
at
com.fasterxml.jackson.dataform jackson-dataformat- 2.8.10
at yaml
com.fasterxml.jackson.datatype jackson-datatype-guava 2.8.10
com.fasterxml.jackson.datatype jackson-datatype- 2.8.10
hibernate3
com.fasterxml.jackson.datatype jackson-datatype- 2.8.10
hibernate4
com.fasterxml.jackson.datatype jackson-datatype- 2.8.10
hibernate5
com.fasterxml.jackson.datatype jackson-datatype-hppc 2.8.10
com.fasterxml.jackson.datatype jackson-datatype-jaxrs 2.8.10
com.fasterxml.jackson.datatype jackson-datatype-jdk8 2.8.10
com.fasterxml.jackson.datatype jackson-datatype-joda 2.8.10
com.fasterxml.jackson.datatype jackson-datatype-json- 2.8.10
org
12
Spring Boot CLI
com.fasterxml.jackson.datatype jackson-datatype- 2.8.10
jsr310
com.fasterxml.jackson.datatype jackson-datatype- 2.8.10
jsr353
com.fasterxml.jackson.datatype jackson-datatype- 2.8.10
pcollections
com.fasterxml.jackson.jaxrs jackson-jaxrs-base 2.8.10
com.fasterxml.jackson.jaxrs jackson-jaxrs-cbor- 2.8.10
provider
com.fasterxml.jackson.jaxrs jackson-jaxrs-json- 2.8.10
provider
com.fasterxml.jackson.jaxrs jackson-jaxrs-smile- 2.8.10
provider
com.fasterxml.jackson.jaxrs jackson-jaxrs-xml- 2.8.10
provider
com.fasterxml.jackson.jaxrs jackson-jaxrs-yaml- 2.8.10
provider
com.fasterxml.jackson.jr jackson-jr-all 2.8.10
com.fasterxml.jackson.jr jackson-jr-objects 2.8.10
com.fasterxml.jackson.jr jackson-jr-retrofit2 2.8.10
13
Spring Boot CLI
com.fasterxml.jackson.jr jackson-jr-stree 2.8.10
com.fasterxml.jackson.module jackson-module- 2.8.10
afterburner
com.fasterxml.jackson.module jackson-module-guice 2.8.10
com.fasterxml.jackson.module jackson-module-jaxb- 2.8.10
annotations
com.fasterxml.jackson.module jackson-module- 2.8.10
jsonSchema
com.fasterxml.jackson.module jackson-module-kotlin 2.8.10
com.fasterxml.jackson.module jackson-module-mrbean 2.8.10
com.fasterxml.jackson.module jackson-module-osgi 2.8.10
com.fasterxml.jackson.module jackson-module- 2.8.10
parameter-names
com.fasterxml.jackson.module jackson-module- 2.8.10
paranamer
com.fasterxml.jackson.module jackson-module- 2.8.10
scala_2.10
com.fasterxml.jackson.module jackson-module- 2.8.10
scala_2.11
14
Spring Boot CLI
com.fasterxml.jackson.module jackson-module- 2.8.10
scala_2.12
com.gemstone.gemfire gemfire 8.2.7
com.github.ben-manes.caffeine caffeine 2.3.5
com.github.mxab.thymeleaf.extr thymeleaf-extras-data- 1.3
as attribute
com.google.appengine appengine-api-1.0-sdk 1.9.58
com.google.code.gson gson 2.8.2
com.googlecode.json-simple json-simple 1.1.1
com.h2database h2 1.4.196
com.hazelcast hazelcast 3.7.8
com.hazelcast hazelcast-client 3.7.8
com.hazelcast hazelcast-hibernate4 3.7.1
com.hazelcast hazelcast-hibernate5 1.1.3
com.hazelcast hazelcast-spring 3.7.8
com.jayway.jsonpath json-path 2.2.0
15
Spring Boot CLI
com.jayway.jsonpath json-path-assert 2.2.0
com.microsoft.sqlserver mssql-jdbc 6.1.0.jre7
com.querydsl querydsl-apt 4.1.4
com.querydsl querydsl-collections 4.1.4
com.querydsl querydsl-core 4.1.4
com.querydsl querydsl-jpa 4.1.4
com.querydsl querydsl-mongodb 4.1.4
com.samskivert jmustache 1.13
com.sendgrid sendgrid-java 2.2.2
com.sun.mail javax.mail 1.5.6
com.timgroup java-statsd-client 3.1.0
com.unboundid unboundid-ldapsdk 3.2.1
com.zaxxer HikariCP 2.5.1
com.zaxxer HikariCP-java6 2.3.13
com.zaxxer HikariCP-java7 2.4.13
16
Spring Boot CLI
commons-beanutils commons-beanutils 1.9.3
commons-codec commons-codec 1.10
commons-collections commons-collections 3.2.2
commons-dbcp commons-dbcp 1.4
commons-digester commons-digester 2.1
commons-pool commons-pool 1.6
de.flapdoodle.embed de.flapdoodle.embed.m 1.50.5
ongo
dom4j dom4j 1.6.1
io.dropwizard.metrics metrics-annotation 3.1.5
io.dropwizard.metrics metrics-core 3.1.5
io.dropwizard.metrics metrics-ehcache 3.1.5
io.dropwizard.metrics metrics-ganglia 3.1.5
io.dropwizard.metrics metrics-graphite 3.1.5
io.dropwizard.metrics metrics-healthchecks 3.1.5
17
Spring Boot CLI
io.dropwizard.metrics metrics-httpasyncclient 3.1.5
io.dropwizard.metrics metrics-jdbi 3.1.5
io.dropwizard.metrics metrics-jersey 3.1.5
io.dropwizard.metrics metrics-jersey2 3.1.5
io.dropwizard.metrics metrics-jetty8 3.1.5
io.dropwizard.metrics metrics-jetty9 3.1.5
io.dropwizard.metrics metrics-jetty9-legacy 3.1.5
io.dropwizard.metrics metrics-json 3.1.5
io.dropwizard.metrics metrics-jvm 3.1.5
io.dropwizard.metrics metrics-log4j 3.1.5
io.dropwizard.metrics metrics-log4j2 3.1.5
io.dropwizard.metrics metrics-logback 3.1.5
io.dropwizard.metrics metrics-servlet 3.1.5
io.dropwizard.metrics metrics-servlets 3.1.5
io.projectreactor reactor-bus 2.0.8.RELEASE
18
Spring Boot CLI
io.projectreactor reactor-core 2.0.8.RELEASE
io.projectreactor reactor-groovy 2.0.8.RELEASE
io.projectreactor reactor-groovy- 2.0.8.RELEASE
extensions
io.projectreactor reactor-logback 2.0.8.RELEASE
io.projectreactor reactor-net 2.0.8.RELEASE
io.projectreactor reactor-stream 2.0.8.RELEASE
io.projectreactor.spring reactor-spring-context 2.0.7.RELEASE
io.projectreactor.spring reactor-spring-core 2.0.7.RELEASE
io.projectreactor.spring reactor-spring- 2.0.7.RELEASE
messaging
io.projectreactor.spring reactor-spring-webmvc 2.0.7.RELEASE
io.searchbox jest 2.0.4
io.undertow undertow-core 1.4.20.Final
io.undertow undertow-servlet 1.4.20.Final
io.undertow undertow-websockets- 1.4.20.Final
jsr
19
Spring Boot CLI
javax.cache cache-api 1.0.0
javax.jms jms-api 1.1-rev-1
javax.mail javax.mail-api 1.5.6
javax.servlet javax.servlet-api 3.1.0
javax.servlet jstl 1.2
javax.transaction javax.transaction-api 1.2
javax.validation validation-api 1.1.0.Final
jaxen jaxen 1.1.6
joda-time joda-time 2.9.9
junit junit 4.12
mysql mysql-connector-java 5.1.44
net.java.dev.jna jna 4.2.2
net.java.dev.jna jna-platform 4.2.2
net.sf.ehcache ehcache 2.10.4
net.sourceforge.htmlunit htmlunit 2.21
20
Spring Boot CLI
net.sourceforge.jtds jtds 1.3.1
net.sourceforge.nekohtml nekohtml 1.9.22
nz.net.ultraq.thymeleaf thymeleaf-layout- 1.4.0
dialect
org.apache.activemq activemq-amqp 5.14.5
org.apache.activemq activemq-blueprint 5.14.5
org.apache.activemq activemq-broker 5.14.5
org.apache.activemq activemq-camel 5.14.5
org.apache.activemq activemq-client 5.14.5
org.apache.activemq activemq-console 5.14.5
org.apache.activemq activemq-http 5.14.5
org.apache.activemq activemq-jaas 5.14.5
org.apache.activemq activemq-jdbc-store 5.14.5
org.apache.activemq activemq-jms-pool 5.14.5
org.apache.activemq activemq-kahadb-store 5.14.5
21
Spring Boot CLI
org.apache.activemq activemq-karaf 5.14.5
org.apache.activemq activemq-leveldb-store 5.14.5
org.apache.activemq activemq-log4j- 5.14.5
appender
org.apache.activemq activemq-mqtt 5.14.5
org.apache.activemq activemq-openwire- 5.14.5
generator
org.apache.activemq activemq-openwire- 5.14.5
legacy
org.apache.activemq activemq-osgi 5.14.5
org.apache.activemq activemq-partition 5.14.5
org.apache.activemq activemq-pool 5.14.5
org.apache.activemq activemq-ra 5.14.5
org.apache.activemq activemq-run 5.14.5
org.apache.activemq activemq-runtime- 5.14.5
config
org.apache.activemq activemq-shiro 5.14.5
org.apache.activemq activemq-spring 5.14.5
22
Spring Boot CLI
org.apache.activemq activemq-stomp 5.14.5
org.apache.activemq activemq-web 5.14.5
org.apache.activemq artemis-amqp-protocol 1.5.5
org.apache.activemq artemis-commons 1.5.5
org.apache.activemq artemis-core-client 1.5.5
org.apache.activemq artemis-jms-client 1.5.5
org.apache.activemq artemis-jms-server 1.5.5
org.apache.activemq artemis-journal 1.5.5
org.apache.activemq artemis-native 1.5.5
org.apache.activemq artemis-selector 1.5.5
org.apache.activemq artemis-server 1.5.5
org.apache.activemq artemis-service- 1.5.5
extensions
org.apache.commons commons-dbcp2 2.1.1
org.apache.commons commons-pool2 2.4.2
23
Spring Boot CLI
org.apache.derby derby 10.13.1.1
org.apache.httpcomponents httpasyncclient 4.1.3
org.apache.httpcomponents httpclient 4.5.3
org.apache.httpcomponents httpcore 4.4.8
org.apache.httpcomponents httpmime 4.5.3
org.apache.logging.log4j log4j-1.2-api 2.7
org.apache.logging.log4j log4j-api 2.7
org.apache.logging.log4j log4j-api-scala_2.10 2.7
org.apache.logging.log4j log4j-api-scala_2.11 2.7
org.apache.logging.log4j log4j-core 2.7
org.apache.logging.log4j log4j-flume-ng 2.7
org.apache.logging.log4j log4j-iostreams 2.7
org.apache.logging.log4j log4j-jcl 2.7
org.apache.logging.log4j log4j-jmx-gui 2.7
org.apache.logging.log4j log4j-jul 2.7
24
Spring Boot CLI
org.apache.logging.log4j log4j-liquibase 2.7
org.apache.logging.log4j log4j-nosql 2.7
org.apache.logging.log4j log4j-slf4j-impl 2.7
org.apache.logging.log4j log4j-taglib 2.7
org.apache.logging.log4j log4j-web 2.7
org.apache.solr solr-analysis-extras 5.5.4
org.apache.solr solr-analytics 5.5.4
org.apache.solr solr-cell 5.5.4
org.apache.solr solr-clustering 5.5.4
org.apache.solr solr-core 5.5.4
org.apache.solr solr-dataimporthandler 5.5.4
org.apache.solr solr-dataimporthandler- 5.5.4
extras
org.apache.solr solr-langid 5.5.4
org.apache.solr solr-map-reduce 5.5.4
25
Spring Boot CLI
org.apache.solr solr-morphlines-cell 5.5.4
org.apache.solr solr-morphlines-core 5.5.4
org.apache.solr solr-solrj 5.5.4
org.apache.solr solr-test-framework 5.5.4
org.apache.solr solr-uima 5.5.4
org.apache.solr solr-velocity 5.5.4
org.apache.tomcat tomcat-annotations-api 8.5.23
org.apache.tomcat tomcat-jdbc 8.5.23
org.apache.tomcat tomcat-jsp-api 8.5.23
org.apache.tomcat.embed tomcat-embed-core 8.5.23
org.apache.tomcat.embed tomcat-embed-el 8.5.23
org.apache.tomcat.embed tomcat-embed-jasper 8.5.23
org.apache.tomcat.embed tomcat-embed- 8.5.23
websocket
org.aspectj aspectjrt 1.8.11
26
Spring Boot CLI
org.aspectj aspectjtools 1.8.11
org.aspectj aspectjweaver 1.8.11
org.assertj assertj-core 2.6.0
org.codehaus.btm btm 2.1.4
org.codehaus.groovy groovy 2.4.12
org.codehaus.groovy groovy-all 2.4.12
org.codehaus.groovy groovy-ant 2.4.12
org.codehaus.groovy groovy-bsf 2.4.12
org.codehaus.groovy groovy-console 2.4.12
org.codehaus.groovy groovy-docgenerator 2.4.12
org.codehaus.groovy groovy-groovydoc 2.4.12
org.codehaus.groovy groovy-groovysh 2.4.12
org.codehaus.groovy groovy-jmx 2.4.12
org.codehaus.groovy groovy-json 2.4.12
org.codehaus.groovy groovy-jsr223 2.4.12
27
Spring Boot CLI
org.codehaus.groovy groovy-nio 2.4.12
org.codehaus.groovy groovy-servlet 2.4.12
org.codehaus.groovy groovy-sql 2.4.12
org.codehaus.groovy groovy-swing 2.4.12
org.codehaus.groovy groovy-templates 2.4.12
org.codehaus.groovy groovy-test 2.4.12
org.codehaus.groovy groovy-testng 2.4.12
org.codehaus.groovy groovy-xml 2.4.12
org.codehaus.janino janino 2.7.8
org.crashub crash.cli 1.3.2
org.crashub crash.connectors.ssh 1.3.2
org.crashub crash.connectors.telnet 1.3.2
org.crashub crash.embed.spring 1.3.2
org.crashub crash.plugins.cron 1.3.2
org.crashub crash.plugins.mail 1.3.2
28
Spring Boot CLI
org.crashub crash.shell 1.3.2
org.eclipse.jetty apache-jsp 9.4.7.v20170914
org.eclipse.jetty apache-jstl 9.4.7.v20170914
org.eclipse.jetty jetty-alpn-client 9.4.7.v20170914
org.eclipse.jetty jetty-alpn-java-client 9.4.7.v20170914
org.eclipse.jetty jetty-alpn-java-server 9.4.7.v20170914
org.eclipse.jetty jetty-alpn-server 9.4.7.v20170914
org.eclipse.jetty jetty-annotations 9.4.7.v20170914
org.eclipse.jetty jetty-ant 9.4.7.v20170914
org.eclipse.jetty jetty-client 9.4.7.v20170914
org.eclipse.jetty jetty-continuation 9.4.7.v20170914
org.eclipse.jetty jetty-deploy 9.4.7.v20170914
org.eclipse.jetty jetty-hazelcast 9.4.7.v20170914
org.eclipse.jetty jetty-http 9.4.7.v20170914
org.eclipse.jetty jetty-http-spi 9.4.7.v20170914
29
Spring Boot CLI
org.eclipse.jetty jetty-infinispan 9.4.7.v20170914
org.eclipse.jetty jetty-io 9.4.7.v20170914
org.eclipse.jetty jetty-jaas 9.4.7.v20170914
org.eclipse.jetty jetty-jaspi 9.4.7.v20170914
org.eclipse.jetty jetty-jmx 9.4.7.v20170914
org.eclipse.jetty jetty-jndi 9.4.7.v20170914
org.eclipse.jetty jetty-nosql 9.4.7.v20170914
org.eclipse.jetty jetty-plus 9.4.7.v20170914
org.eclipse.jetty jetty-proxy 9.4.7.v20170914
org.eclipse.jetty jetty-quickstart 9.4.7.v20170914
org.eclipse.jetty jetty-rewrite 9.4.7.v20170914
org.eclipse.jetty jetty-runner 9.4.7.v20170914
org.eclipse.jetty jetty-security 9.4.7.v20170914
org.eclipse.jetty jetty-server 9.4.7.v20170914
org.eclipse.jetty jetty-servlet 9.4.7.v20170914
30
Spring Boot CLI
org.eclipse.jetty jetty-servlets 9.4.7.v20170914
org.eclipse.jetty jetty-spring 9.4.7.v20170914
org.eclipse.jetty jetty-start 9.4.7.v20170914
org.eclipse.jetty jetty-unixsocket 9.4.7.v20170914
org.eclipse.jetty jetty-util 9.4.7.v20170914
org.eclipse.jetty jetty-util-ajax 9.4.7.v20170914
org.eclipse.jetty jetty-webapp 9.4.7.v20170914
org.eclipse.jetty jetty-xml 9.4.7.v20170914
org.eclipse.jetty.cdi cdi-core 9.4.7.v20170914
org.eclipse.jetty.cdi cdi-servlet 9.4.7.v20170914
org.eclipse.jetty.fcgi fcgi-client 9.4.7.v20170914
org.eclipse.jetty.fcgi fcgi-server 9.4.7.v20170914
org.eclipse.jetty.gcloud jetty-gcloud-session- 9.4.7.v20170914
manager
org.eclipse.jetty.http2 http2-client 9.4.7.v20170914
31
Spring Boot CLI
org.eclipse.jetty.http2 http2-common 9.4.7.v20170914
org.eclipse.jetty.http2 http2-hpack 9.4.7.v20170914
org.eclipse.jetty.http2 http2-http-client- 9.4.7.v20170914
transport
org.eclipse.jetty.http2 http2-server 9.4.7.v20170914
org.eclipse.jetty.memcached jetty-memcached- 9.4.7.v20170914
sessions
org.eclipse.jetty.orbit javax.servlet.jsp 2.2.0.v201112011158
org.eclipse.jetty.osgi jetty-httpservice 9.4.7.v20170914
org.eclipse.jetty.osgi jetty-osgi-boot 9.4.7.v20170914
org.eclipse.jetty.osgi jetty-osgi-boot-jsp 9.4.7.v20170914
org.eclipse.jetty.osgi jetty-osgi-boot-warurl 9.4.7.v20170914
org.eclipse.jetty.websocket javax-websocket-client- 9.4.7.v20170914
impl
org.eclipse.jetty.websocket javax-websocket- 9.4.7.v20170914
server-impl
org.eclipse.jetty.websocket websocket-api 9.4.7.v20170914
org.eclipse.jetty.websocket websocket-client 9.4.7.v20170914
32
Spring Boot CLI
org.eclipse.jetty.websocket websocket-common 9.4.7.v20170914
org.eclipse.jetty.websocket websocket-server 9.4.7.v20170914
org.eclipse.jetty.websocket websocket-servlet 9.4.7.v20170914
org.ehcache ehcache 3.2.3
org.ehcache ehcache-clustered 3.2.3
org.ehcache ehcache-transactions 3.2.3
org.elasticsearch elasticsearch 2.4.6
org.firebirdsql.jdbc jaybird-jdk16 2.2.13
org.firebirdsql.jdbc jaybird-jdk17 2.2.13
org.firebirdsql.jdbc jaybird-jdk18 2.2.13
org.flywaydb flyway-core 3.2.1
org.freemarker freemarker 2.3.26-incubating
org.glassfish javax.el 3.0.0
org.glassfish.jersey.bundles.repa jersey-guava 2.25.1
ckaged
33
Spring Boot CLI
org.glassfish.jersey.containers jersey-container-servlet 2.25.1
org.glassfish.jersey.containers jersey-container- 2.25.1
servlet-core
org.glassfish.jersey.core jersey-client 2.25.1
org.glassfish.jersey.core jersey-common 2.25.1
org.glassfish.jersey.core jersey-server 2.25.1
org.glassfish.jersey.ext jersey-bean-validation 2.25.1
org.glassfish.jersey.ext jersey-entity-filtering 2.25.1
org.glassfish.jersey.ext jersey-spring3 2.25.1
org.glassfish.jersey.media jersey-media-jaxb 2.25.1
org.glassfish.jersey.media jersey-media-json- 2.25.1
jackson
org.glassfish.jersey.media jersey-media-multipart 2.25.1
org.hamcrest hamcrest-core 1.3
org.hamcrest hamcrest-library 1.3
org.hibernate hibernate-core 5.0.12.Final
34
Spring Boot CLI
org.hibernate hibernate-ehcache 5.0.12.Final
org.hibernate hibernate- 5.0.12.Final
entitymanager
org.hibernate hibernate-envers 5.0.12.Final
org.hibernate hibernate-java8 5.0.12.Final
org.hibernate hibernate-jpamodelgen 5.0.12.Final
org.hibernate hibernate-validator 5.3.5.Final
org.hibernate hibernate-validator- 5.3.5.Final
annotation-processor
org.hsqldb hsqldb 2.3.5
org.infinispan infinispan-jcache 8.2.8.Final
org.infinispan infinispan-spring4- 8.2.8.Final
common
org.infinispan infinispan-spring4- 8.2.8.Final
embedded
org.javassist javassist 3.21.0-GA
org.jboss jboss-transaction-spi 7.6.0.Final
org.jboss.logging jboss-logging 3.3.1.Final
35
Spring Boot CLI
org.jboss.narayana.jta jdbc 5.5.30.Final
org.jboss.narayana.jta jms 5.5.30.Final
org.jboss.narayana.jta jta 5.5.30.Final
org.jboss.narayana.jts narayana-jts- 5.5.30.Final
integration
org.jdom jdom2 2.0.6
org.jolokia jolokia-core 1.3.7
org.jooq jooq 3.9.6
org.jooq jooq-codegen 3.9.6
org.jooq jooq-meta 3.9.6
org.json json 20140107
org.liquibase liquibase-core 3.5.3
org.mariadb.jdbc mariadb-java-client 1.5.9
org.mockito mockito-core 1.10.19
org.mongodb mongodb-driver 3.4.3
36
Spring Boot CLI
org.mongodb mongo-java-driver 3.4.3
org.mortbay.jasper apache-el 8.0.33
org.neo4j neo4j-ogm-api 2.1.5
org.neo4j neo4j-ogm-compiler 2.1.5
org.neo4j neo4j-ogm-core 2.1.5
org.neo4j neo4j-ogm-http-driver 2.1.5
org.postgresql postgresql 9.4.1212.jre7
org.projectlombok lombok 1.16.18
org.seleniumhq.selenium htmlunit-driver 2.21
org.seleniumhq.selenium selenium-api 2.53.1
org.seleniumhq.selenium selenium-chrome-driver 2.53.1
org.seleniumhq.selenium selenium-firefox-driver 2.53.1
org.seleniumhq.selenium selenium-ie-driver 2.53.1
org.seleniumhq.selenium selenium-java 2.53.1
org.seleniumhq.selenium selenium-remote-driver 2.53.1
37
Spring Boot CLI
org.seleniumhq.selenium selenium-safari-driver 2.53.1
org.seleniumhq.selenium selenium-support 2.53.1
org.skyscreamer jsonassert 1.4.0
org.slf4j jcl-over-slf4j 1.7.25
org.slf4j jul-to-slf4j 1.7.25
org.slf4j log4j-over-slf4j 1.7.25
org.slf4j slf4j-api 1.7.25
org.slf4j slf4j-ext 1.7.25
org.slf4j slf4j-jcl 1.7.25
org.slf4j slf4j-jdk14 1.7.25
org.slf4j slf4j-log4j12 1.7.25
org.slf4j slf4j-nop 1.7.25
org.slf4j slf4j-simple 1.7.25
org.spockframework spock-core 1.0-groovy-2.4
org.spockframework spock-spring 1.0-groovy-2.4
38
Spring Boot CLI
org.springframework spring-aop 4.3.12.RELEASE
org.springframework spring-aspects 4.3.12.RELEASE
org.springframework spring-beans 4.3.12.RELEASE
org.springframework spring-context 4.3.12.RELEASE
org.springframework spring-context-support 4.3.12.RELEASE
org.springframework spring-core 4.3.12.RELEASE
org.springframework spring-expression 4.3.12.RELEASE
org.springframework spring-instrument 4.3.12.RELEASE
org.springframework spring-instrument- 4.3.12.RELEASE
tomcat
org.springframework spring-jdbc 4.3.12.RELEASE
org.springframework spring-jms 4.3.12.RELEASE
org.springframework springloaded 1.2.8.RELEASE
org.springframework spring-messaging 4.3.12.RELEASE
org.springframework spring-orm 4.3.12.RELEASE
39
Spring Boot CLI
org.springframework spring-oxm 4.3.12.RELEASE
org.springframework spring-test 4.3.12.RELEASE
org.springframework spring-tx 4.3.12.RELEASE
org.springframework spring-web 4.3.12.RELEASE
org.springframework spring-webmvc 4.3.12.RELEASE
org.springframework spring-webmvc-portlet 4.3.12.RELEASE
org.springframework spring-websocket 4.3.12.RELEASE
org.springframework.amqp spring-amqp 1.7.4.RELEASE
org.springframework.amqp spring-rabbit 1.7.4.RELEASE
org.springframework.batch spring-batch-core 3.0.8.RELEASE
org.springframework.batch spring-batch- 3.0.8.RELEASE
infrastructure
org.springframework.batch spring-batch-integration 3.0.8.RELEASE
org.springframework.batch spring-batch-test 3.0.8.RELEASE
org.springframework.boot spring-boot 1.5.8.RELEASE
40
Spring Boot CLI
org.springframework.boot spring-boot-actuator 1.5.8.RELEASE
org.springframework.boot spring-boot-actuator- 1.5.8.RELEASE
docs
org.springframework.boot spring-boot- 1.5.8.RELEASE
autoconfigure
org.springframework.boot spring-boot- 1.5.8.RELEASE
autoconfigure-processor
org.springframework.boot spring-boot- 1.5.8.RELEASE
configuration-metadata
org.springframework.boot spring-boot- 1.5.8.RELEASE
configuration-processor
org.springframework.boot spring-boot-devtools 1.5.8.RELEASE
org.springframework.boot spring-boot-loader 1.5.8.RELEASE
org.springframework.boot spring-boot-loader-tools 1.5.8.RELEASE
org.springframework.boot spring-boot-starter 1.5.8.RELEASE
org.springframework.boot spring-boot-starter- 1.5.8.RELEASE
activemq
org.springframework.boot spring-boot-starter- 1.5.8.RELEASE
actuator
41
Spring Boot CLI
org.springframework.boot spring-boot-starter- 1.5.8.RELEASE
amqp
org.springframework.boot spring-boot-starter-aop 1.5.8.RELEASE
org.springframework.boot spring-boot-starter- 1.5.8.RELEASE
artemis
org.springframework.boot spring-boot-starter- 1.5.8.RELEASE
batch
org.springframework.boot spring-boot-starter- 1.5.8.RELEASE
cache
org.springframework.boot spring-boot-starter- 1.5.8.RELEASE
cloud-connectors
org.springframework.boot spring-boot-starter- 1.5.8.RELEASE
data-cassandra
org.springframework.boot spring-boot-starter- 1.5.8.RELEASE
data-couchbase
org.springframework.boot spring-boot-starter- 1.5.8.RELEASE
data-elasticsearch
org.springframework.boot spring-boot-starter- 1.5.8.RELEASE
data-gemfire
org.springframework.boot spring-boot-starter- 1.5.8.RELEASE
data-jpa
org.springframework.boot spring-boot-starter- 1.5.8.RELEASE
data-ldap
42
Spring Boot CLI
org.springframework.boot spring-boot-starter- 1.5.8.RELEASE
data-mongodb
org.springframework.boot spring-boot-starter- 1.5.8.RELEASE
data-neo4j
org.springframework.boot spring-boot-starter- 1.5.8.RELEASE
data-redis
org.springframework.boot spring-boot-starter- 1.5.8.RELEASE
data-rest
org.springframework.boot spring-boot-starter- 1.5.8.RELEASE
data-solr
org.springframework.boot spring-boot-starter- 1.5.8.RELEASE
freemarker
org.springframework.boot spring-boot-starter- 1.5.8.RELEASE
groovy-templates
org.springframework.boot spring-boot-starter- 1.5.8.RELEASE
hateoas
org.springframework.boot spring-boot-starter- 1.5.8.RELEASE
integration
org.springframework.boot spring-boot-starter-jdbc 1.5.8.RELEASE
org.springframework.boot spring-boot-starter- 1.5.8.RELEASE
jersey
org.springframework.boot spring-boot-starter- 1.5.8.RELEASE
jetty
43
Spring Boot CLI
org.springframework.boot spring-boot-starter-jooq 1.5.8.RELEASE
org.springframework.boot spring-boot-starter-jta- 1.5.8.RELEASE
atomikos
org.springframework.boot spring-boot-starter-jta- 1.5.8.RELEASE
bitronix
org.springframework.boot spring-boot-starter-jta- 1.5.8.RELEASE
narayana
org.springframework.boot spring-boot-starter- 1.5.8.RELEASE
log4j2
org.springframework.boot spring-boot-starter- 1.5.8.RELEASE
logging
org.springframework.boot spring-boot-starter-mail 1.5.8.RELEASE
org.springframework.boot spring-boot-starter- 1.5.8.RELEASE
mobile
org.springframework.boot spring-boot-starter- 1.5.8.RELEASE
mustache
org.springframework.boot spring-boot-starter- 1.5.8.RELEASE
remote-shell
org.springframework.boot spring-boot-starter- 1.5.8.RELEASE
security
org.springframework.boot spring-boot-starter- 1.5.8.RELEASE
social-facebook
44
Spring Boot CLI
org.springframework.boot spring-boot-starter- 1.5.8.RELEASE
social-linkedin
org.springframework.boot spring-boot-starter- 1.5.8.RELEASE
social-twitter
org.springframework.boot spring-boot-starter-test 1.5.8.RELEASE
org.springframework.boot spring-boot-starter- 1.5.8.RELEASE
thymeleaf
org.springframework.boot spring-boot-starter- 1.5.8.RELEASE
tomcat
org.springframework.boot spring-boot-starter- 1.5.8.RELEASE
undertow
org.springframework.boot spring-boot-starter- 1.5.8.RELEASE
validation
org.springframework.boot spring-boot-starter-web 1.5.8.RELEASE
org.springframework.boot spring-boot-starter- 1.5.8.RELEASE
web-services
org.springframework.boot spring-boot-starter- 1.5.8.RELEASE
websocket
org.springframework.boot spring-boot-test 1.5.8.RELEASE
org.springframework.boot spring-boot-test- 1.5.8.RELEASE
autoconfigure
45
Spring Boot CLI
org.springframework.cloud spring-cloud- 1.2.4.RELEASE
cloudfoundry-connector
org.springframework.cloud spring-cloud-core 1.2.4.RELEASE
org.springframework.cloud spring-cloud-heroku- 1.2.4.RELEASE
connector
org.springframework.cloud spring-cloud- 1.2.4.RELEASE
localconfig-connector
org.springframework.cloud spring-cloud-spring- 1.2.4.RELEASE
service-connector
org.springframework.data spring-cql 1.5.8.RELEASE
org.springframework.data spring-data-cassandra 1.5.8.RELEASE
org.springframework.data spring-data-commons 1.13.8.RELEASE
org.springframework.data spring-data-couchbase 2.2.8.RELEASE
org.springframework.data spring-data- 2.1.8.RELEASE
elasticsearch
org.springframework.data spring-data-envers 1.1.8.RELEASE
org.springframework.data spring-data-gemfire 1.9.8.RELEASE
org.springframework.data spring-data-jpa 1.11.8.RELEASE
46
Spring Boot CLI
org.springframework.data spring-data-keyvalue 1.2.8.RELEASE
org.springframework.data spring-data-ldap 1.0.8.RELEASE
org.springframework.data spring-data-mongodb 1.10.8.RELEASE
org.springframework.data spring-data-mongodb- 1.10.8.RELEASE
cross-store
org.springframework.data spring-data-mongodb- 1.10.8.RELEASE
log4j
org.springframework.data spring-data-neo4j 4.2.8.RELEASE
org.springframework.data spring-data-redis 1.8.8.RELEASE
org.springframework.data spring-data-rest-core 2.6.8.RELEASE
org.springframework.data spring-data-rest-hal- 2.6.8.RELEASE
browser
org.springframework.data spring-data-rest- 2.6.8.RELEASE
webmvc
org.springframework.data spring-data-solr 2.1.8.RELEASE
org.springframework.hateoas spring-hateoas 0.23.0.RELEASE
org.springframework.integration spring-integration-amqp 4.3.12.RELEASE
org.springframework.integration spring-integration-core 4.3.12.RELEASE
47
Spring Boot CLI
org.springframework.integration spring-integration-event 4.3.12.RELEASE
org.springframework.integration spring-integration-feed 4.3.12.RELEASE
org.springframework.integration spring-integration-file 4.3.12.RELEASE
org.springframework.integration spring-integration-ftp 4.3.12.RELEASE
org.springframework.integration spring-integration- 4.3.12.RELEASE
gemfire
org.springframework.integration spring-integration- 4.3.12.RELEASE
groovy
org.springframework.integration spring-integration-http 4.3.12.RELEASE
org.springframework.integration spring-integration-ip 4.3.12.RELEASE
org.springframework.integration spring-integration-java- 1.2.3.RELEASE
dsl
org.springframework.integration spring-integration-jdbc 4.3.12.RELEASE
org.springframework.integration spring-integration-jms 4.3.12.RELEASE
org.springframework.integration spring-integration-jmx 4.3.12.RELEASE
org.springframework.integration spring-integration-jpa 4.3.12.RELEASE
org.springframework.integration spring-integration-mail 4.3.12.RELEASE
48
Spring Boot CLI
org.springframework.integration spring-integration- 4.3.12.RELEASE
mongodb
org.springframework.integration spring-integration-mqtt 4.3.12.RELEASE
org.springframework.integration spring-integration-redis 4.3.12.RELEASE
org.springframework.integration spring-integration-rmi 4.3.12.RELEASE
org.springframework.integration spring-integration- 4.3.12.RELEASE
scripting
org.springframework.integration spring-integration- 4.3.12.RELEASE
security
org.springframework.integration spring-integration-sftp 4.3.12.RELEASE
org.springframework.integration spring-integration- 4.3.12.RELEASE
stomp
org.springframework.integration spring-integration- 4.3.12.RELEASE
stream
org.springframework.integration spring-integration- 4.3.12.RELEASE
syslog
org.springframework.integration spring-integration-test 4.3.12.RELEASE
org.springframework.integration spring-integration- 4.3.12.RELEASE
twitter
49
Spring Boot CLI
org.springframework.integration spring-integration- 4.3.12.RELEASE
websocket
org.springframework.integration spring-integration-ws 4.3.12.RELEASE
org.springframework.integration spring-integration-xml 4.3.12.RELEASE
org.springframework.integration spring-integration-xmpp 4.3.12.RELEASE
org.springframework.integration spring-integration- 4.3.12.RELEASE
zookeeper
org.springframework.kafka spring-kafka 1.1.7.RELEASE
org.springframework.kafka spring-kafka-test 1.1.7.RELEASE
org.springframework.ldap spring-ldap-core 2.3.2.RELEASE
org.springframework.ldap spring-ldap-core-tiger 2.3.2.RELEASE
org.springframework.ldap spring-ldap-ldif-batch 2.3.2.RELEASE
org.springframework.ldap spring-ldap-ldif-core 2.3.2.RELEASE
org.springframework.ldap spring-ldap-odm 2.3.2.RELEASE
org.springframework.ldap spring-ldap-test 2.3.2.RELEASE
org.springframework.mobile spring-mobile-device 1.1.5.RELEASE
50
Spring Boot CLI
org.springframework.plugin spring-plugin-core 1.2.0.RELEASE
org.springframework.plugin spring-plugin-metadata 1.2.0.RELEASE
org.springframework.restdocs spring-restdocs-core 1.1.3.RELEASE
org.springframework.restdocs spring-restdocs- 1.1.3.RELEASE
mockmvc
org.springframework.restdocs spring-restdocs- 1.1.3.RELEASE
restassured
org.springframework.retry spring-retry 1.2.1.RELEASE
org.springframework.security spring-security-acl 4.2.3.RELEASE
org.springframework.security spring-security-aspects 4.2.3.RELEASE
org.springframework.security spring-security-cas 4.2.3.RELEASE
org.springframework.security spring-security-config 4.2.3.RELEASE
org.springframework.security spring-security-core 4.2.3.RELEASE
org.springframework.security spring-security-crypto 4.2.3.RELEASE
org.springframework.security spring-security-data 4.2.3.RELEASE
org.springframework.security spring-security-jwt 1.0.8.RELEASE
51
Spring Boot CLI
org.springframework.security spring-security-ldap 4.2.3.RELEASE
org.springframework.security spring-security- 4.2.3.RELEASE
messaging
org.springframework.security spring-security-openid 4.2.3.RELEASE
org.springframework.security spring-security- 4.2.3.RELEASE
remoting
org.springframework.security spring-security-taglibs 4.2.3.RELEASE
org.springframework.security spring-security-test 4.2.3.RELEASE
org.springframework.security spring-security-web 4.2.3.RELEASE
org.springframework.security.oa spring-security-oauth 2.0.14.RELEASE
uth
org.springframework.security.oa spring-security-oauth2 2.0.14.RELEASE
uth
org.springframework.session spring-session 1.3.1.RELEASE
org.springframework.session spring-session-data- 1.3.1.RELEASE
gemfire
org.springframework.session spring-session-data- 1.3.1.RELEASE
mongo
org.springframework.session spring-session-data- 1.3.1.RELEASE
redis
52
Spring Boot CLI
org.springframework.session spring-session- 1.3.1.RELEASE
hazelcast
org.springframework.session spring-session-jdbc 1.3.1.RELEASE
org.springframework.social spring-social-config 1.1.4.RELEASE
org.springframework.social spring-social-core 1.1.4.RELEASE
org.springframework.social spring-social-facebook 2.0.3.RELEASE
org.springframework.social spring-social-facebook- 2.0.3.RELEASE
web
org.springframework.social spring-social-linkedin 1.0.2.RELEASE
org.springframework.social spring-social-security 1.1.4.RELEASE
org.springframework.social spring-social-twitter 1.1.2.RELEASE
org.springframework.social spring-social-web 1.1.4.RELEASE
org.springframework.ws spring-ws-core 2.4.0.RELEASE
org.springframework.ws spring-ws-security 2.4.0.RELEASE
org.springframework.ws spring-ws-support 2.4.0.RELEASE
org.springframework.ws spring-ws-test 2.4.0.RELEASE
53
Spring Boot CLI
org.thymeleaf thymeleaf 2.1.5.RELEASE
org.thymeleaf thymeleaf-spring4 2.1.5.RELEASE
org.thymeleaf.extras thymeleaf-extras- 2.1.2.RELEASE
conditionalcomments
org.thymeleaf.extras thymeleaf-extras- 2.1.0.RELEASE
java8time
org.thymeleaf.extras thymeleaf-extras- 2.1.3.RELEASE
springsecurity4
org.webjars hal-browser 9f96c74
org.webjars webjars-locator 0.32-1
org.xerial sqlite-jdbc 3.15.1
org.yaml snakeyaml 1.17
redis.clients jedis 2.9.0
wsdl4j wsdl4j 1.6.3
xml-apis xml-apis 1.4.01
54
6. Spring Boot CLI — Default Statements Spring Boot CLI
In this chapter, we will learn about the Default Statements in Spring Boot CLI. To begin
with, we will learn about the Default Imports.
Default Imports
Spring CLI automatically imports many libraries by default so that explicit imports are not
required. Let us now consider the following groovy script to understand Default Imports.
@RestController
class FirstApplication {
@RequestMapping("/")
String welcome() {
"Welcome to TutorialsPoint.Com"
}
}
Here, Spring Boot includes import for @RestController, @RequestMapping annotations by
default. There is no requirement for us to use fully-qualified names. You can check by
running the application.
Type the following command −
E:/Test/> spring run FirstApplication.groovy
The above command will generate the following output on console –
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _> | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v1.5.8.RELEASE)
...
2017-11-07 19:22:17.310 INFO 4824 --- [ runner-0]
o.s.boot.SpringApplication
: Started application in 3.405 seconds (JVM running for 7.021)
55
Spring Boot CLI
Automatic Main Method
We are not required to create standard main method for groovy script to initialize a spring
application. It is automatically created for Spring Boot application.
56
7. Spring Boot CLI — Starter Thymeleaf Project Spring Boot CLI
In this chapter, we will learn how to create a sample Thymeleaf-based project to
demonstrate the capabilities of Spring CLI. Follow the below mentioned step to create a
sample project −
Step Description
Create a Folder with a name TestApplication with
1
subfolders templates and static.
Create message.groovy in TestApplication folder, message.html in templates
2
folder, index.html in static folder as explained below.
3 Compile and run the application to verify the result of the implemented logic.
TestApplication/message.groovy
@Controller
@Grab('spring-boot-starter-thymeleaf')
class MessageController {
@RequestMapping("/message")
String getMessage(Model model) {
String message = "Welcome to TutorialsPoint.Com!";
model.addAttribute("message", message);
return "message";
}
}
TestApplication/templates/message.html
<!DOCTYPE HTML>
<html xmlns:th = "http://www.thymeleaf.org">
<head>
<title>Spring Boot CLI Example</title>
57
Spring Boot CLI
<meta http-equiv = "Content-Type" content = "text/html; charset = UTF-8"
/>
</head>
<body>
<p th:text = "'Message: ' + ${message}" />
</body>
</html>
TestApplication/static/index.html
<!DOCTYPE HTML>
<html>
<head>
<title>Spring Boot CLI Example</title>
<meta http-equiv = "Content-Type" content = "text/html; charset = UTF-8"
/>
</head>
<body>
<p>Go to <a href = "/msg">Message</a></p>
</body>
</html>
Run the application
To run the application, type the following command –
E:/Test/TestApplication/> spring run *.groovy
Now Spring Boot CLI will come into action, download the required dependencies, run the
embedded tomcat, deploy the application and start it. You can see the following output on
console –
Resolving dependencies.............................
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _> | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
58
Spring Boot CLI
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v1.5.8.RELEASE)
...
2017-11-08 16:27:28.300 INFO 8360 --- [ runner-0]
s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8080
(http)
2017-11-08 16:27:28.305 INFO 8360 --- [ runner-0]
o.s.boot.SpringApplication : Started application in 4.203 seconds
(JVM running for 38.792)
Browse the application in Browser
Our Spring-based REST application is now ready. Open URL "http://localhost:8080/"
and you will see the following output –
Go to Message
Click on the Message link and you will see the following output –
Message: Welcome to TutorialsPoint.Com!
Important points
Consider the following points to understand the actions taken by Spring CLI –
The @Grab('spring-boot-starter-thymeleaf') annotation directs CLI to download
spring-boot-starter-thymeleaf 1.5.8.RELEASE version.
Spring CLI automatically detects the version using its metadata, as we have not
specified any group id or version id here.
Finally after code compilation, deploy the war on a embedded tomcat, start
embedded tomcat server on the default port 8080.
59
8. Spring Boot CLI — Testing Application Spring Boot CLI
In this chapter, we will test the sample project created in Hello World Example Chapter to
demonstrate the testing capabilities of Spring CLI. Follow the steps listed in the table below
to test the sample project −
Steps Description
Create FirstApplication.groovy and TestFirstApplication.groovy in Testfolder as
1
explained below.
2 Compile and run the application to verify the result of the implemented logic.
FirstApplication/FirstApplication.groovy
@RestController
class FirstApplication {
@RequestMapping("/")
String welcome() {
"Welcome to TutorialsPoint.Com"
}
}
FirstApplication/TestFirstApplication.groovy
class TestFirstApplication {
@Test
void welcomeTest() {
assertEquals("Welcome to TutorialsPoint.Com", new
FirstApplication().welcome())
}
}
Run the application
To run the application, type the following command −
60
Spring Boot CLI
E:/Test/FirstApplication/> spring test FirstApplication.groovy
TestFirstApplication.groovy
Now Spring Boot CLI will come into action, download the required dependencies, compile
the source and test file and unit test the code. The following output will be generated on
console –
Resolving dependencies........................................................
.
Time: 0.457
OK (1 test)
Important points
Consider the following points to understand the actions taken by Spring CLI –
The @Test annotation directs CLI to download JUnit 4.12 version.
Spring CLI automatically detects the version using its metadata, as we have not
specified any dependency.
Finally, after code compilation, test the application.
61
9. Spring Boot CLI — Packaging Application Spring Boot CLI
Spring Boot CLI provides jar command in order to package an application as jar file. Let
us test the sample project created in Starter Thymeleaf Project chapter to demonstrate
the packaging capabilities of Spring CLI.
Follow the steps describe below to package the sample project −
Package the application
To package the application, begin by typing the following command −
E:/Test/TestApplication/> spring jar TestApplication.jar *.groovy
Output
The command will print the following output −
E:/Test/TestApplication/> spring jar TestApplication.jar *.groovy
Output
Now you can see two new files created in the TestApplication folder.
TestApplication.jar − An executable jar file.
TestApplication.jar.original − Original jar file.
Include/Exclude
By default, following directories are included along with their contents −
public
resources
static
templates
META-INF
By default, following directories are excluded along with their contents –
repository
build
target
*.jar files
62
Spring Boot CLI
*.groovy files
Using --include, we can include directories excluded otherwise. Using --exclude, we can
exclude directories included otherwise.
Running the Executable Jar
To run the executable Jar, type the following command −
E:/Test/TestApplication/> java -jar TestApplication.jar
The above command will generate the following output on console −
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _> | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v1.5.8.RELEASE)
...
2017-11-08 16:27:28.300 INFO 8360 --- [ runner-0]
s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8080
(http)
2017-11-08 16:27:28.305 INFO 8360 --- [ runner-0]
o.s.boot.SpringApplication : Started application in 4.203 seconds
(JVM running for 38.792)
Browse the application in Browser
Our Spring-based REST application is now ready. Open URL as "http://localhost:8080/"
and you will see the following output –
Go to Message
Click on Message link and you will see the following output −
Message: Welcome to TutorialsPoint.Com!
63
10. Spring Boot CLI — Creating Project Spring Boot CLI
Spring Boot CLI can be used to create a new project with maven as default build tool using
init command. Maven will use https://start.spring.io service. In the following example, we
will create a web application using thymeleaf. Go to E:\Test folder and type the following
command –
E:/Test> spring init --dependencies = web,thymeleaf MavenApplication.zip
The above command will generate the following output −
Using service at https://start.spring.io
Content saved to MavenApplication.zip
Create Gradle project
We can create a Gradle based project as well by setting --build as gradle. To understand
this in a better way, consider the example given below. Go to E:\Test folder and type the
following command –
E:/Test> spring init --build = gradle --java-version = 1.8 --dependencies =
web,thymeleaf --packaging = war GradleApplication.zip
The above command will generate the following output −
Using service at https://start.spring.io
Content saved to GradleApplication.zip
64
11. Spring Boot CLI — Using Shell Spring Boot CLI
Spring Boot CLI provides a Shell interface to run the commands in which we can directly
run the commands as shown below. Go to E:\Test folder and type the following command
−
E:/Test> spring shell
The above command will generate the following output −
?[1mSpring Boot?[m?[2m (v1.5.8.RELEASE)?[m
Hit TAB to complete. Type 'help' and hit RETURN for help, and 'exit' to quit.
Running Commands in Shell
In this section, we will learn how to run commands in Shell. Type the following and see
the output −
version
Spring CLI v1.5.8.RELEASE
You can press Tab to auto complete the commands and type Exit to finish the shell console.
Testing the application in shell
Let us now learn how to test the application in shell. Type the following line of code and
see the output −
E:\Test\FirstApplication>spring shell
?[1mSpring Boot?[m?[2m (v1.5.8.RELEASE)?[m
Hit TAB to complete. Type 'help' and hit RETURN for help, and 'exit' to quit.
$ test FirstApplication.groovy TestFirstApplication.groovy
.
Time: 0.347
OK (1 test)
$ exit
E:\Test\FirstApplication>
65