Spring Boot CLI - Guide rapide

La CLI Spring Boot est une interface de ligne de commande pour Spring Boot. Il peut être utilisé pour un démarrage rapide avec Spring. Il peut exécuter des scripts Groovy, ce qui signifie qu'un développeur n'a pas besoin d'écrire du code standard; il suffit de se concentrer sur la logique métier. Spring Boot CLI est le moyen le plus rapide de créer une application basée sur Spring.

traits

Dans cette section, nous examinerons les différentes fonctionnalités de Spring Boot CL -

  • Il fournit une interface pour exécuter et tester l'application Spring Boot à partir de l'invite de commande.

  • Il utilise en interne les composants Spring Boot Starter et Spring Boot AutoConfigurate afin de résoudre toutes les dépendances et d'exécuter l'application.

  • Il contient le compilateur Groovy et Grape Dependency Manager.

  • Il prend en charge les scripts Groovy sans installation externe Groovy.

  • Il ajoute les valeurs par défaut de Spring Boot et résout automatiquement toutes les dépendances.

Spring est un framework basé sur Java; par conséquent, nous devons d'abord configurer JDK. Voici les étapes nécessaires pour configurer Spring Boot CLI avec l'installation de JDK.

Étape 1 - Configuration du kit de développement Java (JDK)

Vous pouvez télécharger la dernière version du SDK à partir du site Java d'Oracle - Téléchargements Java SE. Vous trouverez des instructions pour installer JDK dans les fichiers téléchargés, suivez les instructions données pour installer et configurer la configuration. Enfin, définissez les variables d'environnement PATH et JAVA_HOME pour faire référence au répertoire qui contient java et javac, généralementjava_install_dir/bin et java_install_dir respectivement.

Si vous exécutez Windows et avez installé le JDK dans C:\jdk1.6.0_15, vous devrez mettre la ligne suivante dans votre C:\autoexec.bat fichier -

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

Alternativement, sur Windows NT/2000/XP, vous devrez faire un clic droit sur Poste de travail, sélectionner Propriétés → Avancé → Variables d'environnement. Ensuite, vous devrez mettre à jour la valeur PATH et cliquer sur le bouton OK.

Sous Unix (Solaris, Linux, etc.), si le SDK est installé /usr/local/jdk1.6.0_15 et vous utilisez le shell C, vous devrez mettre ce qui suit dans votre .cshrc fichier -

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

Étape 2 - Installez Spring Boot CLI

Vous pouvez télécharger la dernière version de l'API CLI Spring Boot en tant qu'archive ZIP à partir de https://repo.spring.io/release/org/springframework/boot/spring-boot-cli/. Une fois l'installation téléchargée, décompressez la distribution zip dans un emplacement pratique. Par exemple, dansE:\Test\spring-1.5.8.RELEASE on Windows, ou /usr/local/spring-1.5.8.RELEASE on Linux/Unix.

Assurez-vous de définir correctement votre variable CLASSPATH sur ce répertoire, sinon vous rencontrerez un problème lors de l'exécution de votre application.

Ou définissez temporairement le chemin dans l'invite de commande pour exécuter l'application Spring Boot comme indiqué ci-dessous -

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

Étape 3 - Vérifiez l'installation

Exécutez la commande suivante sur l'invite de commande pour vérifier l'installation -

E:/Test/> spring --version

Il devrait imprimer la sortie suivante confirmant l'installation réussie -

Spring CLI v1.5.8.RELEASE

Dans cet exemple, nous allons créer une application Web basée sur Spring Boot + MVC + Rest.

Étape 1: créer un dossier source

Créer un dossier FirstApplication dans E:\Test folder.

Étape 2: créer un fichier source

Créer le fichier FirstApplication.groovy dans E:\Test folder avec le code source suivant -

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

Étape 3: Exécutez l'application

Tapez la commande suivante -

E:/Test/> spring run FirstApplication.groovy

Maintenant, Spring Boot CLI entrera en action, téléchargera les dépendances requises, exécutera le tomcat intégré, déploiera l'application et la démarrera. Vous pouvez voir la sortie suivante sur la 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 
      

Étape 4: Parcourez l'application dans le navigateur

Notre application de repos à ressort est maintenant prête. Ouvrez l'URL en tant que "http://localhost:8080/"et vous verrez la sortie suivante -

Hello World

Les points importants

Tenez compte des points suivants pour comprendre le fonctionnement de Spring CLI.

  • Tous les fichiers JAR de dépendance sont téléchargés pour la première fois uniquement.

  • Spring CLI détecte automatiquement les JAR de dépendances à télécharger en fonction des classes et des annotations utilisées dans le code.

  • Enfin, après la compilation du code, déployez le fichier war sur un tomcat embarqué et démarrez le serveur tomcat embarqué sur le port par défaut 8080.

La base de code Groovy standard contient un @Grabannotation afin que les dépendances sur des bibliothèques tierces puissent être déclarées. En utilisant l'annotation @Grab, Grape Dependency Manager télécharge le fichier jar de la même manière que celui de Maven / Gradle sans aucun outil de construction. Spring Boot tente de déduire les bibliothèques requises en fonction du code. Par exemple, l'utilisation de @RestController indique que les bibliothèques "Tomcat" et "Spring MVC" doivent être récupérées.

Prenez des indices

Le tableau suivant détaille les conseils que Spring Boot utilise pour télécharger des bibliothèques tierces -

Sr.No. Indice et dépendance à télécharger / lier
1

JdbcTemplate, NamedParameterJdbcTemplate, DataSource

Application JDBC

2

@EnableJms

Application JMS

3

@EnableCaching

Abstraction de la mise en cache

4

@Test

JUnit

5

@EnableRabbit

RabbitMQ

6

@EnableReactor

Réacteur de projet

sept

extends Specification

Test de Spock

8

@EnableBatchProcessing

Lot de printemps

9

@MessageEndpoint, @EnableIntegrationPatterns

Intégration de printemps

dix

@EnableDeviceResolver

Mobile de printemps

11

@Controller, @RestController, @EnableWebMvc

Spring MVC + Tomcat intégré

12

@EnableWebSecurity

Sécurité du printemps

13

@EnableTransactionManagement

Gestion des transactions Spring

Nous pouvons spécifier une dépendance à l'aide de l'annotation @Grab même sans spécifier de groupe ou de version. Par exemple,

@Grab('antlr')

Maintenant, Spring Boot CLI téléchargera la version 2.7.7 de antlrtel qu'il est présent dans les métadonnées de dépendance par défaut de Spring Boot pour la version 1.5.8. Spring Boot gère toutes les versions de dépendances par défaut qui sont fournies dans sa CLI, la gestion des dépendances Maven et le plugin Gradle. Chaque fois que nous déclarons une dépendance de l'un de ces artefacts présents dans les métadonnées de dépendance efault sans déclarer de version, la version répertoriée dans son tableau sera utilisée.

Le tableau suivant montre toutes les dépendances et leurs versions incluses dans les métadonnées par défaut pour la version Spring Boot CLI 1.5.8.

ID de groupe Identifiant d'artefact Version
antlr antlr 2.7.7
ch.qos.logback accès à la connexion 1.1.11
ch.qos.logback logback-classique 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
com.couchbase.client client java 2.3.7
com.datastax.cassandra cassandra-driver-core 3.1.4
com.datastax.cassandra mappage des pilotes cassandra 3.1.4
com.fasterxml camarade de classe 1.3.4
com.fasterxml.jackson.core annotations-jackson 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 propriétés jackson-dataformat 2.8.10
com.fasterxml.jackson.dataformat jackson-dataformat-protobuf 2.8.10
com.fasterxml.jackson.dataformat jackson-dataformat-sourire 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-goyave 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-fournisseur 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-fournisseur 2.8.10
com.fasterxml.jackson.jaxrs jackson-jaxrs-yaml-provider 2.8.10
com.fasterxml.jackson.jr jackson-jr-tout 2.8.10
com.fasterxml.jackson.jr objets-jackson-jr 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 jackson-module-afterburner 2.8.10
com.fasterxml.jackson.module jackson-module-guice 2.8.10
com.fasterxml.jackson.module annotations-jaxb-module-jackson 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 noms de paramètres de module jackson 2.8.10
com.fasterxml.jackson.module jackson-module-paranamer 2.8.10
com.fasterxml.jackson.module module-jackson-scala_2.10 2.8.10
com.fasterxml.jackson.module module-jackson-scala_2.11 2.8.10
com.fasterxml.jackson.module jackson-module-scala_2.12 2.8.10
com.gemstone.gemfire gemme 8.2.7
com.github.ben-manes.caffeine caféine 2.3.5
com.github.mxab.thymeleaf.extras attribut-data-extras-thymeleaf 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 noisette 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-printemps 3.7.8
com.jayway.jsonpath chemin-json 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 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
communs-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.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

Dans ce chapitre, nous découvrirons les instructions par défaut dans Spring Boot CLI. Pour commencer, nous allons en apprendre davantage sur les importations par défaut.

Importations par défaut

Spring CLI importe automatiquement de nombreuses bibliothèques par défaut afin qu'aucune importation explicite ne soit requise. Examinons maintenant le script groovy suivant pour comprendre les importations par défaut.

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

Ici import pour @RestController, les annotations @RequestMapping sont déjà incluses par défaut par Spring Boot. Nous n'avons même pas besoin d'utiliser des noms complets. Vous pouvez vérifier en exécutant l'application.

Tapez la commande suivante -

E:/Test/> spring run FirstApplication.groovy

La commande ci-dessus générera la sortie suivante sur la 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éthode principale automatique

Nous ne sommes pas obligés de créer une méthode principale standard pour groovy script pour initialiser une application Spring. Il est automatiquement créé pour l'application Spring Boot.

Dans ce chapitre, nous allons apprendre à créer un exemple de projet basé sur Thymeleaf pour démontrer les capacités de Spring CLI. Suivez l'étape ci-dessous pour créer un exemple de projet -

Sr.Non Étape et description
1 Créez un dossier avec un nom TestApplication avec des modèles de sous-dossiers et statiques .
2 Créer message.groovy dans TestApplication dossier, message.html dans des modèles dossier, index.html dans statique dossier comme expliqué ci - dessous.
3 Compilez et exécutez l'application pour vérifier le résultat de la logique implémentée.

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>

Lancez l'application

Pour exécuter l'application, tapez la commande suivante -

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

Maintenant, Spring Boot CLI entrera en action, téléchargera les dépendances requises, exécutera le tomcat intégré, déploiera l'application et la démarrera. Vous pouvez voir la sortie suivante sur la 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)

Parcourir l'application dans le navigateur

Notre application de repos à ressort est maintenant prête. Ouvrez l'URL en tant que "http://localhost:8080/"et vous verrez la sortie suivante -

Go to Message

Cliquez sur le lien Message et vous verrez la sortie suivante -

Message − Welcome to TutorialsPoint.Com!

Les points importants

Tenez compte des points suivants pour comprendre les actions entreprises par Spring CLI -

  • L'annotation @Grab ('spring-boot-starter-thymeleaf') indique à la CLI de télécharger la version spring-boot-starter-thymeleaf 1.5.8.RELEASE.

  • Spring CLI détecte automatiquement la version à l'aide de ses métadonnées, car nous n'avons spécifié aucun identifiant de groupe ou de version ici.

  • Enfin après la compilation du code, déployez la guerre sur un tomcat intégré, démarrez le serveur tomcat intégré sur le port par défaut 8080.

Dans ce chapitre, nous testerons l'exemple de projet créé dans Hello World Example Chapter pour démontrer les capacités de test de Spring CLI. Suivez les étapes répertoriées dans le tableau ci-dessous pour tester l'exemple de projet -

Sr.Non Étape et description
1 Créez FirstApplication.groovy et TestFirstApplication.groovy dans le dossier Test comme expliqué ci-dessous.
2 Compilez et exécutez l'application pour vérifier le résultat de la logique implémentée.

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

Lancez l'application

Pour exécuter l'application, tapez la commande suivante -

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

Maintenant Spring Boot CLI entrera en action, téléchargera les dépendances requises, compilera le fichier source et de test et testera le code unitaire. La sortie suivante sera générée sur la console -

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

OK (1 test)

Les points importants

Tenez compte des points suivants pour comprendre les actions entreprises par Spring CLI -

  • L'annotation @Test demande à la CLI de télécharger la version JUnit 4.12.

  • Spring CLI détecte automatiquement la version à l'aide de ses métadonnées, car nous n'avons spécifié aucune dépendance.

  • Enfin, après la compilation du code, testez l'application.

Spring boot CLI fournit la commande jar afin de conditionner une application en tant que fichier jar. Testons l'exemple de projet créé dans Starter Thymeleaf Project Chapter pour démontrer les capacités d'empaquetage de Spring CLI.

Suivez les étapes décrites ci-dessous pour empaqueter l'exemple de projet -

Package de l'application

Pour empaqueter l'application, commencez par taper la commande suivante -

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

Production

La commande imprimera la sortie suivante -

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

Production

Vous pouvez maintenant voir deux nouveaux fichiers créés dans le dossier TestApplication.

  • TestApplication.jar - Un fichier jar exécutable.

  • TestApplication.jar.original - Fichier jar original.

Inclure / exclure

Par défaut, les répertoires suivants sont inclus avec leur contenu -

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

Par défaut, les répertoires suivants sont exclus avec leur contenu -

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

En utilisant --include, nous pouvons inclure des répertoires exclus autrement. En utilisant--exclude, nous pouvons exclure les répertoires inclus dans le cas contraire.

Exécuter le fichier exécutable

Pour exécuter l'exécutable Jar, tapez la commande suivante -

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

La commande ci-dessus générera la sortie suivante sur la 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)

Parcourir l'application dans le navigateur

Notre application de repos à ressort est maintenant prête. Ouvrez l'URL en tant que "http://localhost:8080/"et vous verrez la sortie suivante -

Go to Message

Cliquez sur le lien Message et vous verrez la sortie suivante -

Message: Welcome to TutorialsPoint.Com!

Spring Boot CLI peut être utilisé pour créer un nouveau projet avec maven comme outil de construction par défaut à l'aide de la commande init. Maven utiliserahttps://start.spring.ioun service. Dans l'exemple suivant, nous allons créer une application Web à l'aide de thymeleaf. Aller àE:\Test dossier et tapez la commande suivante -

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

La commande ci-dessus générera la sortie suivante -

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

Créer un projet Gradle

Nous pouvons également créer un projet basé sur Gradle en définissant --buildcomme gradle. Pour mieux comprendre cela, considérons l'exemple ci-dessous. Aller àE:\Test dossier et tapez la commande suivante -

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

La commande ci-dessus générera la sortie suivante -

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

Spring Boot CLI fournit une interface Shell pour exécuter les commandes dans lesquelles nous pouvons exécuter directement les commandes comme indiqué ci-dessous. Aller àE:\Test dossier et tapez la commande suivante -

E:/Test> spring shell

La commande ci-dessus générera la sortie suivante -

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

Exécution de commandes dans Shell

Dans cette section, nous allons apprendre à exécuter des commandes dans Shell. Tapez ce qui suit et voyez la sortie -

version
Spring CLI v1.5.8.RELEASE

Vous pouvez appuyer sur tab pour terminer automatiquement les commandes et taper exit pour terminer la console shell.

Tester l'application dans le shell

Apprenons maintenant à tester l'application en shell. Tapez la ligne de code suivante et voyez la sortie -

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>