Spring Boot CLI - Guia rápido

O Spring Boot CLI é uma interface de linha de comando para Spring Boot. Ele pode ser usado para um início rápido com o Spring. Ele pode executar scripts Groovy, o que significa que um desenvolvedor não precisa escrever código clichê; tudo o que é necessário é o foco na lógica de negócios. Spring Boot CLI é a maneira mais rápida de criar um aplicativo baseado em Spring.

Características

Nesta seção, veremos os diferentes recursos do Spring Boot CL -

  • Ele fornece uma interface para executar e testar o aplicativo Spring Boot no prompt de comando.

  • Ele usa internamente os componentes Spring Boot Starter e Spring Boot AutoConfigurate para resolver todas as dependências e executar o aplicativo.

  • Ele contém o compilador Groovy e o Grape Dependency Manager.

  • Suporta Groovy Scripts sem instalação externa de Groovy.

  • Ele adiciona padrões do Spring Boot e resolve todas as dependências automaticamente.

Spring é uma estrutura baseada em Java; portanto, precisamos configurar o JDK primeiro. A seguir estão as etapas necessárias para configurar o Spring Boot CLI junto com a instalação do JDK.

Etapa 1 - Configure o Java Development Kit (JDK)

Você pode baixar a versão mais recente do SDK no site Java da Oracle - Java SE Downloads. Você encontrará instruções para instalar o JDK nos arquivos baixados, siga as instruções fornecidas para instalar e configurar a configuração. Por fim, defina as variáveis ​​de ambiente PATH e JAVA_HOME para se referir ao diretório que contém java e javac, normalmentejava_install_dir/bin e java_install_dir respectivamente.

Se você estiver executando o Windows e tiver instalado o JDK em C:\jdk1.6.0_15, você teria que colocar a seguinte linha em seu C:\autoexec.bat arquivo -

set PATH=C:\jdk1.6.0_15\bin;%PATH% 
set JAVA_HOME=C:\jdk1.6.0_15

Alternativamente, em Windows NT/2000/XP, você terá que clicar com o botão direito em Meu computador, selecionar Propriedades → Avançado → Variáveis ​​de ambiente. Então, você terá que atualizar o valor de PATH e clicar no botão OK.

No Unix (Solaris, Linux, etc.), se o SDK estiver instalado em /usr/local/jdk1.6.0_15 e você usa o C shell, você terá que colocar o seguinte em seu .cshrc arquivo -

setenv PATH /usr/local/jdk1.6.0_15/bin:$PATH 
setenv JAVA_HOME /usr/local/jdk1.6.0_15

Etapa 2 - Instalar Spring Boot CLI

Você pode baixar a versão mais recente da API Spring Boot CLI como arquivo ZIP em https://repo.spring.io/release/org/springframework/boot/spring-boot-cli/. Depois de baixar a instalação, descompacte a distribuição zip em um local conveniente. Por exemplo, emE:\Test\spring-1.5.8.RELEASE on Windows, ou /usr/local/spring-1.5.8.RELEASE on Linux/Unix.

Certifique-se de definir sua variável CLASSPATH neste diretório corretamente, caso contrário, você enfrentará um problema ao executar seu aplicativo.

Ou defina o caminho no prompt de comando temporariamente para executar o aplicativo Spring Boot conforme mostrado abaixo -

E:/Test/> set path=E:\Test\spring-1.5.8.RELEASE\bin;%PATH%

Etapa 3 - Verificar a instalação

Execute o seguinte comando no prompt de comando para verificar a instalação -

E:/Test/> spring --version

Ele deve imprimir a seguinte saída, confirmando a instalação bem-sucedida -

Spring CLI v1.5.8.RELEASE

Neste exemplo, criaremos um aplicativo da Web baseado em Spring Boot + MVC + Rest.

Etapa 1: Criar pasta de origem

Crie uma pasta FirstApplication em E:\Test folder.

Etapa 2: Criar arquivo de origem

Crie o arquivo FirstApplication.groovy em E:\Test folder com o seguinte código-fonte -

@RestController
class FirstApplication {
   @RequestMapping("/")
   
   String welcome() {
      "Welcome to TutorialsPoint.Com"
   }
}

Etapa 3: execute o aplicativo

Digite o seguinte comando -

E:/Test/> spring run FirstApplication.groovy

Agora, o Spring Boot CLI entrará em ação, baixará as dependências necessárias, executará o tomcat integrado, implantará o aplicativo e o iniciará. Você pode ver a seguinte saída no console -

Resolving dependencies..........................................................
................................................................................
........................

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _> | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: 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.AnnotationConfigEmbeddedWebApplicationContext@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$DefaultScopeParentClassLoader@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: [/*]
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.AnnotationConfigEmbeddedWebApplicationContext@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
      
       > org.springframework.boot.autoconfigure.web.BasicErrorController.error(javax.servlet.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.servlet.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) 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 
      

Etapa 4: navegue pelo aplicativo no navegador

Nosso aplicativo de descanso com base na mola está pronto. Abrir url como "http://localhost:8080/"e você verá a seguinte saída -

Hello World

Pontos importantes

Considere os seguintes pontos para entender como o Spring CLI funciona.

  • Todos os JARs de dependência são baixados apenas pela primeira vez.

  • O Spring CLI detecta automaticamente quais JARs de dependência devem ser baixados com base nas classes e anotações usadas no código.

  • Finalmente, após a compilação do código, implante o arquivo war em um tomcat integrado e inicie o servidor tomcat integrado na porta padrão 8080.

A base de código Groovy padrão contém um @Grabanotação para que as dependências de bibliotecas de terceiros possam ser declaradas. Usando a anotação @Grab, o Grape Dependency Manager baixa o jar de maneira semelhante ao Maven / Gradle sem nenhuma ferramenta de construção. Spring Boot tenta deduzir as bibliotecas necessárias com base no código. Por exemplo, o uso de @RestController informa que as bibliotecas "Tomcat" e "Spring MVC" devem ser capturadas.

Pegar dicas

A tabela a seguir detalha as dicas que Spring Boot usa para baixar bibliotecas de terceiros -

Sr. Não. Dica e dependência para download / link
1

JdbcTemplate, NamedParameterJdbcTemplate, DataSource

Aplicativo JDBC

2

@EnableJms

Aplicativo JMS

3

@EnableCaching

Abstração de cache

4

@Test

JUnit

5

@EnableRabbit

RabbitMQ

6

@EnableReactor

Projeto Reator

7

extends Specification

Teste de Spock

8

@EnableBatchProcessing

Spring Batch

9

@MessageEndpoint, @EnableIntegrationPatterns

Integração Primavera

10

@EnableDeviceResolver

Spring Mobile

11

@Controller, @RestController, @EnableWebMvc

Spring MVC + Tomcat incorporado

12

@EnableWebSecurity

Spring Security

13

@EnableTransactionManagement

Gerenciamento de transações de primavera

Podemos especificar uma dependência usando a anotação @Grab mesmo sem especificar o grupo ou a versão. Por exemplo,

@Grab('antlr')

Agora o Spring Boot CLI baixará a versão 2.7.7 do antlrcomo está presente nos metadados de dependência padrão do Spring Boot para a versão 1.5.8. O Spring Boot mantém todas as versões de dependência por padrão que são fornecidas em seu CLI, gerenciamento de dependência Maven e plugin Gradle. Sempre que declararmos uma dependência de qualquer um dos artefatos presentes nos metadados de dependência de efault sem declarar uma versão, a versão listada em sua tabela será usada.

A tabela a seguir mostra todas as dependências e suas versões incluídas nos metadados padrão para a versão Spring Boot CLI 1.5.8.

Id do Grupo Id do artefato Versão
antlr antlr 2.7.7
ch.qos.logback logback-access 1.1.11
ch.qos.logback logback-clássico 1.1.11
ch.qos.logback logback-core 1.1.11
com.atomikos transações-jdbc 3.9.3
com.atomikos transações-jms 3.9.3
com.atomikos transações-jta 3.9.3
com.couchbase.client couchbase-spring-cache 2.1.0
com.couchbase.client cliente-java 2.3.7
com.datastax.cassandra cassandra-driver-core 3.1.4
com.datastax.cassandra mapeamento de driver de cassandra 3.1.4
com.fasterxml colega de classe 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.dataformat jackson-dataformat-avro 2.8.10
com.fasterxml.jackson.dataformat jackson-dataformat-cbor 2.8.10
com.fasterxml.jackson.dataformat jackson-dataformat-csv 2.8.10
com.fasterxml.jackson.dataformat jackson-dataformat-ion 2.8.10
com.fasterxml.jackson.dataformat jackson-dataformat-properties 2.8.10
com.fasterxml.jackson.dataformat jackson-dataformat-protobuf 2.8.10
com.fasterxml.jackson.dataformat jackson-dataformat-smile 2.8.10
com.fasterxml.jackson.dataformat jackson-dataformat-xml 2.8.10
com.fasterxml.jackson.dataformat jackson-dataformat-yaml 2.8.10
com.fasterxml.jackson.datatype jackson-datatype-goiaba 2.8.10
com.fasterxml.jackson.datatype jackson-datatype-hibernate3 2.8.10
com.fasterxml.jackson.datatype jackson-datatype-hibernate4 2.8.10
com.fasterxml.jackson.datatype jackson-datatype-hibernate5 2.8.10
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-org 2.8.10
com.fasterxml.jackson.datatype jackson-datatype-jsr310 2.8.10
com.fasterxml.jackson.datatype jackson-datatype-jsr353 2.8.10
com.fasterxml.jackson.datatype jackson-datatype-pcollections 2.8.10
com.fasterxml.jackson.jaxrs jackson-jaxrs-base 2.8.10
com.fasterxml.jackson.jaxrs jackson-jaxrs-cbor-provider 2.8.10
com.fasterxml.jackson.jaxrs jackson-jaxrs-json-provider 2.8.10
com.fasterxml.jackson.jaxrs jackson-jaxrs-smile-provider 2.8.10
com.fasterxml.jackson.jaxrs jackson-jaxrs-xml-provider 2.8.10
com.fasterxml.jackson.jaxrs jackson-jaxrs-yaml-provider 2.8.10
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
com.fasterxml.jackson.jr jackson-jr-stree 2.8.10
com.fasterxml.jackson.module pós-combustor de módulo jackson 2.8.10
com.fasterxml.jackson.module jackson-module-guice 2.8.10
com.fasterxml.jackson.module jackson-module-jaxb-annotations 2.8.10
com.fasterxml.jackson.module jackson-module-jsonSchema 2.8.10
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-parameter-names 2.8.10
com.fasterxml.jackson.module jackson-module-paranamer 2.8.10
com.fasterxml.jackson.module jackson-module-scala_2.10 2.8.10
com.fasterxml.jackson.module jackson-module-scala_2.11 2.8.10
com.fasterxml.jackson.module jackson-module-scala_2.12 2.8.10
com.gemstone.gemfire gemfire 8.2.7
com.github.ben-manes.caffeine cafeína 2.3.5
com.github.mxab.thymeleaf.extras thymeleaf-extras-data-attribute 1,3
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 avelã 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
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 Justache 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
commons-beanutils commons-beanutils 1.9.3
commons-codec commons-codec 1,10
coleções comuns coleções comuns 3.2.2
commons-dbcp commons-dbcp 1,4
digestor comum digestor comum 2,1
piscina comum commons-pool 1.6
de.flapdoodle.embed de.flapdoodle.embed.mongo 1.50.5
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
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
io.projectreactor reactor-core 2.0.8.RELEASE
io.projectreactor reactor-groovy 2.0.8.RELEASE
io.projectreactor reactor-groovy-extensions 2.0.8.RELEASE
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-messaging 2.0.7.RELEASE
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-jsr 1.4.20.Final
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
net.sourceforge.jtds jtds 1.3.1
net.sourceforge.nekohtml nekohtml 1.9.22
nz.net.ultraq.thymeleaf thymeleaf-layout-dialect 1.4.0
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
org.apache.activemq activemq-karaf 5.14.5
org.apache.activemq activemq-leveldb-store 5.14.5
org.apache.activemq activemq-log4j-appender 5.14.5
org.apache.activemq activemq-mqtt 5.14.5
org.apache.activemq activemq-openwire-generator 5.14.5
org.apache.activemq activemq-openwire-legacy 5.14.5
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-config 5.14.5
org.apache.activemq activemq-shiro 5.14.5
org.apache.activemq activemq-spring 5.14.5
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-extensions 1.5.5
org.apache.commons commons-dbcp2 2.1.1
org.apache.commons commons-pool2 2.4.2
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
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-extras 5.5.4
org.apache.solr solr-langid 5.5.4
org.apache.solr solr-map-reduce 5.5.4
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-websocket 8.5.23
org.aspectj aspectjrt 1.8.11
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
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
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
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
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-manager 9.4.7.v20170914
org.eclipse.jetty.http2 http2-client 9.4.7.v20170914
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-transport 9.4.7.v20170914
org.eclipse.jetty.http2 http2-server 9.4.7.v20170914
org.eclipse.jetty.memcached jetty-memcached-sessions 9.4.7.v20170914
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-impl 9.4.7.v20170914
org.eclipse.jetty.websocket javax-websocket-server-impl 9.4.7.v20170914
org.eclipse.jetty.websocket websocket-api 9.4.7.v20170914
org.eclipse.jetty.websocket websocket-client 9.4.7.v20170914
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.repackaged jersey-guava 2.25.1
org.glassfish.jersey.containers jersey-container-servlet 2.25.1
org.glassfish.jersey.containers jersey-container-servlet-core 2.25.1
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-jackson 2.25.1
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
org.hibernate hibernate-ehcache 5.0.12.Final
org.hibernate hibernate-entitymanager 5.0.12.Final
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-annotation-processor 5.3.5.Final
org.hsqldb hsqldb 2.3.5
org.infinispan infinispan-jcache 8.2.8.Final
org.infinispan infinispan-spring4-common 8.2.8.Final
org.infinispan infinispan-spring4-embedded 8.2.8.Final
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
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-integration 5.5.30.Final
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
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
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
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-tomcat 4.3.12.RELEASE
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
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-infrastructure 3.0.8.RELEASE
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
org.springframework.boot spring-boot-actuator 1.5.8.RELEASE
org.springframework.boot spring-boot-actuator-docs 1.5.8.RELEASE
org.springframework.boot spring-boot-autoconfigure 1.5.8.RELEASE
org.springframework.boot spring-boot-autoconfigure-processor 1.5.8.RELEASE
org.springframework.boot spring-boot-configuration-metadata 1.5.8.RELEASE
org.springframework.boot spring-boot-configuration-processor 1.5.8.RELEASE
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-activemq 1.5.8.RELEASE
org.springframework.boot spring-boot-starter-actuator 1.5.8.RELEASE
org.springframework.boot spring-boot-starter-amqp 1.5.8.RELEASE
org.springframework.boot spring-boot-starter-aop 1.5.8.RELEASE
org.springframework.boot spring-boot-starter-artemis 1.5.8.RELEASE
org.springframework.boot spring-boot-starter-batch 1.5.8.RELEASE
org.springframework.boot spring-boot-starter-cache 1.5.8.RELEASE
org.springframework.boot spring-boot-starter-cloud-connectors 1.5.8.RELEASE
org.springframework.boot spring-boot-starter-data-cassandra 1.5.8.RELEASE
org.springframework.boot spring-boot-starter-data-couchbase 1.5.8.RELEASE
org.springframework.boot spring-boot-starter-data-elasticsearch 1.5.8.RELEASE
org.springframework.boot spring-boot-starter-data-gemfire 1.5.8.RELEASE
org.springframework.boot spring-boot-starter-data-jpa 1.5.8.RELEASE
org.springframework.boot spring-boot-starter-data-ldap 1.5.8.RELEASE
org.springframework.boot spring-boot-starter-data-mongodb 1.5.8.RELEASE
org.springframework.boot spring-boot-starter-data-neo4j 1.5.8.RELEASE
org.springframework.boot spring-boot-starter-data-redis 1.5.8.RELEASE
org.springframework.boot spring-boot-starter-data-rest 1.5.8.RELEASE
org.springframework.boot spring-boot-starter-data-solr 1.5.8.RELEASE
org.springframework.boot spring-boot-starter-freemarker 1.5.8.RELEASE
org.springframework.boot spring-boot-starter-groovy-templates 1.5.8.RELEASE
org.springframework.boot spring-boot-starter-hateoas 1.5.8.RELEASE
org.springframework.boot spring-boot-starter-integration 1.5.8.RELEASE
org.springframework.boot spring-boot-starter-jdbc 1.5.8.RELEASE
org.springframework.boot spring-boot-starter-jersey 1.5.8.RELEASE
org.springframework.boot spring-boot-starter-jetty 1.5.8.RELEASE
org.springframework.boot spring-boot-starter-jooq 1.5.8.RELEASE
org.springframework.boot spring-boot-starter-jta-atomikos 1.5.8.RELEASE
org.springframework.boot spring-boot-starter-jta-bitronix 1.5.8.RELEASE
org.springframework.boot spring-boot-starter-jta-narayana 1.5.8.RELEASE
org.springframework.boot spring-boot-starter-log4j2 1.5.8.RELEASE
org.springframework.boot spring-boot-starter-logging 1.5.8.RELEASE
org.springframework.boot spring-boot-starter-mail 1.5.8.RELEASE
org.springframework.boot spring-boot-starter-mobile 1.5.8.RELEASE
org.springframework.boot spring-boot-starter-mustache 1.5.8.RELEASE
org.springframework.boot spring-boot-starter-remote-shell 1.5.8.RELEASE
org.springframework.boot spring-boot-starter-security 1.5.8.RELEASE
org.springframework.boot spring-boot-starter-social-facebook 1.5.8.RELEASE
org.springframework.boot spring-boot-starter-social-linkedin 1.5.8.RELEASE
org.springframework.boot spring-boot-starter-social-twitter 1.5.8.RELEASE
org.springframework.boot spring-boot-starter-test 1.5.8.RELEASE
org.springframework.boot spring-boot-starter-thymeleaf 1.5.8.RELEASE
org.springframework.boot spring-boot-starter-tomcat 1.5.8.RELEASE
org.springframework.boot spring-boot-starter-undertow 1.5.8.RELEASE
org.springframework.boot spring-boot-starter-validation 1.5.8.RELEASE
org.springframework.boot spring-boot-starter-web 1.5.8.RELEASE
org.springframework.boot spring-boot-starter-web-services 1.5.8.RELEASE
org.springframework.boot spring-boot-starter-websocket 1.5.8.RELEASE
org.springframework.boot spring-boot-test 1.5.8.RELEASE
org.springframework.boot spring-boot-test-autoconfigure 1.5.8.RELEASE
org.springframework.cloud spring-cloud-cloudfoundry-connector 1.2.4.RELEASE
org.springframework.cloud spring-cloud-core 1.2.4.RELEASE
org.springframework.cloud spring-cloud-heroku-connector 1.2.4.RELEASE
org.springframework.cloud spring-cloud-localconfig-connector 1.2.4.RELEASE
org.springframework.cloud spring-cloud-spring-service-connector 1.2.4.RELEASE
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-elasticsearch 2.1.8.RELEASE
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
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-cross-store 1.10.8.RELEASE
org.springframework.data spring-data-mongodb-log4j 1.10.8.RELEASE
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-browser 2.6.8.RELEASE
org.springframework.data spring-data-rest-webmvc 2.6.8.RELEASE
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
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-gemfire 4.3.12.RELEASE
org.springframework.integration spring-integration-groovy 4.3.12.RELEASE
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-dsl 1.2.3.RELEASE
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
org.springframework.integration spring-integration-mongodb 4.3.12.RELEASE
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-scripting 4.3.12.RELEASE
org.springframework.integration spring-integration-security 4.3.12.RELEASE
org.springframework.integration spring-integration-sftp 4.3.12.RELEASE
org.springframework.integration spring-integration-stomp 4.3.12.RELEASE
org.springframework.integration spring-integration-stream 4.3.12.RELEASE
org.springframework.integration spring-integration-syslog 4.3.12.RELEASE
org.springframework.integration spring-integration-test 4.3.12.RELEASE
org.springframework.integration spring-integration-twitter 4.3.12.RELEASE
org.springframework.integration spring-integration-websocket 4.3.12.RELEASE
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-zookeeper 4.3.12.RELEASE
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
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-mockmvc 1.1.3.RELEASE
org.springframework.restdocs spring-restdocs-restassured 1.1.3.RELEASE
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
org.springframework.security spring-security-ldap 4.2.3.RELEASE
org.springframework.security spring-security-messaging 4.2.3.RELEASE
org.springframework.security spring-security-openid 4.2.3.RELEASE
org.springframework.security spring-security-remoting 4.2.3.RELEASE
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.oauth spring-security-oauth 2.0.14.RELEASE
org.springframework.security.oauth spring-security-oauth2 2.0.14.RELEASE
org.springframework.session spring-session 1.3.1.RELEASE
org.springframework.session spring-session-data-gemfire 1.3.1.RELEASE
org.springframework.session spring-session-data-mongo 1.3.1.RELEASE
org.springframework.session spring-session-data-redis 1.3.1.RELEASE
org.springframework.session spring-session-hazelcast 1.3.1.RELEASE
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-web 2.0.3.RELEASE
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
org.thymeleaf thymeleaf 2.1.5.RELEASE
org.thymeleaf thymeleaf-spring4 2.1.5.RELEASE
org.thymeleaf.extras thymeleaf-extras-conditionalcomments 2.1.2.RELEASE
org.thymeleaf.extras thymeleaf-extras-java8time 2.1.0.RELEASE
org.thymeleaf.extras thymeleaf-extras-springsecurity4 2.1.3.RELEASE
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

Neste capítulo, aprenderemos sobre as instruções padrão no Spring Boot CLI. Para começar, aprenderemos sobre as importações padrão.

Importações padrão

O Spring CLI importa automaticamente muitas bibliotecas por padrão para que importações explícitas não sejam necessárias. Vamos agora considerar o seguinte script bacana para entender as importações padrão.

@RestController
class FirstApplication {
   @RequestMapping("/")
   
   String welcome() {
      "Welcome to TutorialsPoint.Com"
   }
}

Aqui, import para @RestController, anotações @RequestMapping já estão incluídas por padrão pelo Spring Boot. Não somos nem mesmo obrigados a usar nomes totalmente qualificados. Você pode verificar executando o aplicativo.

Digite o seguinte comando -

E:/Test/> spring run FirstApplication.groovy

O comando acima irá gerar a seguinte saída no 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)

Método Principal Automático

Não somos obrigados a criar o método principal padrão para o script groovy inicializar um aplicativo Spring. Ele é criado automaticamente para o aplicativo de inicialização de primavera.

Neste capítulo, aprenderemos como criar um projeto de amostra baseado no Thymeleaf para demonstrar os recursos do Spring CLI. Siga a etapa abaixo mencionada para criar um projeto de amostra -

Sr. Não Etapa e descrição
1 Crie uma pasta com um nome TestApplication com modelos de subpastas e estáticos .
2 Crie message.groovy na pasta TestApplication , message.html na pasta de modelos , index.html na pasta estática conforme explicado abaixo.
3 Compile e execute o aplicativo para verificar o resultado da lógica implementada.

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> 
      <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>

Execute o aplicativo

Para executar o aplicativo, digite o seguinte comando -

E:/Test/TestApplication/> spring run *.groovy

Agora, o Spring Boot CLI entrará em ação, baixará as dependências necessárias, executará o tomcat integrado, implantará o aplicativo e o iniciará. Você pode ver a seguinte saída no console -

Resolving dependencies.............................

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _> | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: 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)

Navegue pelo aplicativo no navegador

Nosso aplicativo de descanso com base na mola está pronto. Abrir url como "http://localhost:8080/"e você verá a seguinte saída -

Go to Message

Clique no link Mensagem e você verá a seguinte saída -

Message − Welcome to TutorialsPoint.Com!

Pontos importantes

Considere os seguintes pontos para entender as ações tomadas pelo Spring CLI -

  • A anotação @Grab ('spring-boot-starter-thymeleaf') direciona a CLI para baixar a versão spring-boot-starter-thymeleaf 1.5.8.RELEASE.

  • Spring CLI detecta automaticamente a versão usando seus metadados, já que não especificamos nenhum id de grupo ou id de versão aqui.

  • Finalmente, após a compilação do código, implante o war em um tomcat embutido, inicie o servidor tomcat embutido na porta padrão 8080.

Neste capítulo, testaremos o projeto de amostra criado no Capítulo de exemplo Hello World para demonstrar os recursos de teste do Spring CLI. Siga as etapas listadas na tabela abaixo para testar o projeto de amostra -

Sr. Não Etapa e descrição
1 Crie FirstApplication.groovy e TestFirstApplication.groovy na pasta Test, conforme explicado abaixo.
2 Compile e execute o aplicativo para verificar o resultado da lógica implementada.

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())
   }
}

Execute o aplicativo

Para executar o aplicativo, digite o seguinte comando -

E:/Test/FirstApplication/> spring test FirstApplication.groovy TestFirstApplication.groovy

Agora o Spring Boot CLI entrará em ação, fará o download das dependências necessárias, compilará a fonte e o arquivo de teste e teste de unidade do código. A seguinte saída será gerada no console -

Resolving dependencies........................................................
.
Time: 0.457

OK (1 test)

Pontos importantes

Considere os seguintes pontos para entender as ações tomadas pelo Spring CLI -

  • A anotação @Test direciona a CLI para fazer download da versão 4.12 do JUnit.

  • O Spring CLI detecta automaticamente a versão usando seus metadados, pois não especificamos nenhuma dependência.

  • Finalmente, após a compilação do código, teste o aplicativo.

Spring boot CLI fornece o comando jar para empacotar um aplicativo como um arquivo jar. Vamos testar o projeto de amostra criado no Capítulo do projeto Starter Thymeleaf para demonstrar os recursos de empacotamento do Spring CLI.

Siga as etapas descritas abaixo para empacotar o projeto de amostra -

Empacote o aplicativo

Para empacotar o aplicativo, comece digitando o seguinte comando -

E:/Test/TestApplication/> spring jar TestApplication.jar *.groovy

Resultado

O comando imprimirá a seguinte saída -

E:/Test/TestApplication/> spring jar TestApplication.jar *.groovy

Resultado

Agora você pode ver dois novos arquivos criados na pasta TestApplication.

  • TestApplication.jar - Um arquivo jar executável.

  • TestApplication.jar.original - Arquivo jar original.

Incluir excluir

Por padrão, os seguintes diretórios são incluídos junto com seus conteúdos -

  • public
  • resources
  • static
  • templates
  • META-INF

Por padrão, os seguintes diretórios são excluídos junto com seus conteúdos -

  • repository
  • build
  • target
  • arquivos * .jar
  • arquivos * .groovy

Usando --include, podemos incluir diretórios excluídos de outra forma. Usando--exclude, podemos excluir diretórios incluídos de outra forma.

Executando o Jar executável

Para executar o Jar executável, digite o seguinte comando -

E:/Test/TestApplication/> java -jar TestApplication.jar

O comando acima irá gerar a seguinte saída no 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)

Navegue pelo aplicativo no navegador

Nosso aplicativo de descanso baseado em mola agora está pronto. Abrir url como "http://localhost:8080/"e você verá a seguinte saída -

Go to Message

Clique no link Mensagem e você verá a seguinte saída -

Message: Welcome to TutorialsPoint.Com!

Spring Boot CLI pode ser usado para criar um novo projeto com maven como ferramenta de construção padrão usando o comando init. Maven vai usarhttps://start.spring.ioserviço. No exemplo a seguir, criaremos um aplicativo da web usando thymeleaf. Vamos paraE:\Test pasta e digite o seguinte comando -

E:/Test> spring init --dependencies = web,thymeleaf MavenApplication.zip

O comando acima irá gerar a seguinte saída -

Using service at https://start.spring.io
Content saved to MavenApplication.zip

Criar projeto Gradle

Podemos criar um projeto baseado em Gradle também definindo --buildcomo gradle. Para entender isso de uma maneira melhor, considere o exemplo abaixo. Vamos paraE:\Test pasta e digite o seguinte comando -

E:/Test> spring init --build = gradle --java-version = 1.8 --dependencies = web,thymeleaf --packaging = war GradleApplication.zip

O comando acima irá gerar a seguinte saída -

Using service at https://start.spring.io
Content saved to GradleApplication.zip

Spring Boot CLI fornece uma interface Shell para executar os comandos na qual podemos executar diretamente os comandos conforme mostrado abaixo. Vamos paraE:\Test pasta e digite o seguinte comando -

E:/Test> spring shell

O comando acima irá gerar a seguinte saída -

?[1mSpring Boot?[m?[2m (v1.5.8.RELEASE)?[m
Hit TAB to complete. Type 'help' and hit RETURN for help, and 'exit' to quit.

Executando comandos no Shell

Nesta seção, aprenderemos como executar comandos no Shell. Digite o seguinte e veja o resultado -

version
Spring CLI v1.5.8.RELEASE

Você pode pressionar tab para completar automaticamente os comandos e digitar exit para finalizar o console do shell.

Testando o aplicativo em shell

Vamos agora aprender como testar o aplicativo no shell. Digite a seguinte linha de código e veja o resultado -

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>