100% found this document useful (1 vote)
287 views

Springbootcli Tutorial PDF

Uploaded by

kasim
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
287 views

Springbootcli Tutorial PDF

Uploaded by

kasim
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 69

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

You might also like