目录

Spring Boot CLI - 快速指南

Spring Boot CLI - Overview

Spring Boot CLI是Spring Boot的命令行界面。 它可以用于Spring的快速入门。 它可以运行Groovy脚本,这意味着开发人员无需编写样板代码; 所需要的只是关注业务逻辑。 Spring Boot CLI是创建基于Spring的应用程序的最快方法。

特点 (Features)

在本节中,我们将介绍Spring Boot CL的不同功能 -

  • 它提供了一个从命令提示符运行和测试Spring Boot Application的接口。

  • 它在内部使用Spring Boot Starter和Spring Boot AutoConfigurate组件来解决所有依赖关系并执行应用程序。

  • 它包含Groovy编译器和Grape Dependency Manager。

  • 它支持Groovy脚本,无需外部Groovy安装。

  • 它添加了Spring Boot默认值并自动解决所有依赖项。

Spring Boot CLI - Environment Setup

Spring是一个基于Java的框架; 因此,我们需要先设置JDK。 以下是设置Spring Boot CLI以及JDK安装所需的步骤。

第1步 - 安装Java开发工具包(JDK)

您可以从Oracle的Java站点下载最新版本的SDK - Java SE Downloads。 您将找到有关在下载文件中安装JDK的说明,请按照给出的说明安装和配置设置。 最后设置PATH和JAVA_HOME环境变量来引用包含java和javac的目录,通常分别是java_install_dir/binjava_install_dir

如果您正在运行Windows并在C:\jdk1.6.0_15安装了JDK,则必须将以下行放在C:\autoexec.bat文件中 -

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

或者,在Windows NT/2000/XP ,您必须右键单击“我的电脑”,选择“属性”→“高级”→“环境变量”。 然后,您必须更新PATH值并单击“确定”按钮。

在Unix(Solaris,Linux等)上,如果SDK安装在/usr/local/jdk1.6.0_15并且您使用C shell,则必须将以下内容放入.cshrc文件中 -

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

第2步 - 安装Spring Boot CLI

您可以从https://repo.spring.io/release/org/springframework/boot/spring-boot-cli/下载最新版本的Spring Boot CLI API作为ZIP存档。 下载安装后,将zip分发包装到方便的位置。 例如,在E:\Test\spring-1.5.8.RELEASE on Windows/usr/local/spring-1.5.8.RELEASE on Linux/Unix.

确保在此目录中正确设置CLASSPATH变量,否则在运行应用程序时将遇到问题。

或者暂时在命令提示符中设置路径以运行spring boot应用程序,如下所示 -

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

第3步 - 验证安装

在命令提示符下运行以下命令以验证安装 -

E:/Test/> spring --version

它应打印以下输出,确认安装成功 -

Spring CLI v1.5.8.RELEASE

Spring Boot CLI - Hello World Example

在这个例子中,我们将创建一个基于Spring Boot + MVC + Rest的Web应用程序。

第1步:创建源文件夹

E:\Test folder.创建文件夹FirstApplication E:\Test folder.

第2步:创建源文件

使用以下源代码在E:\Test folder创建FirstApplication.groovy文件 -

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

第3步:运行应用程序

输入以下命令 -

E:/Test/> spring run FirstApplication.groovy

现在,Spring Boot CLI将开始运行,下载所需的依赖项,运行嵌入式tomcat,部署应用程序并启动它。 您可以在控制台上看到以下输出 -

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<java.util.map java.lang.object="">> 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
</java.util.map>

第4步:在浏览器中浏览应用程序

我们基于弹簧的休息应用现已准备就绪。 打开网址为“ http://localhost:8080/ ”,您将看到以下输出 -

Hello World

重要的几点 (Important points)

请考虑以下几点以了解Spring CLI的工作原理.-

  • 所有依赖项JAR仅首次下载。

  • Spring CLI根据代码中使用的类和注释自动检测要下载的依赖项JAR。

  • 最后,在编译代码之后,在嵌入式tomcat上部署war文件,并在默认端口8080上启动嵌入式tomcat服务器。

"grab" Dependency Deduction

标准Groovy代码库包含@Grab注释,因此可以声明对第三方库的依赖性。 使用@Grab注释,Grape Dependency Manager以类似于Maven/Gradle的方式下载jar,而无需任何构建工具。 Spring Boot尝试根据代码推断出所需的库。 例如,使用@RestController告诉我们要抓取“Tomcat”和“Spring MVC”库。

抓住提示

下表详细介绍了Spring Boot用于下载第三方库的提示 -

Sr.No. 下载/链接的提示和依赖性
1

JdbcTemplate, NamedParameterJdbcTemplate, DataSource

JDBC应用程序

2

@EnableJms

JMS应用程序

3

@EnableCaching

缓存抽象

4

@Test

JUnit的

5

@EnableRabbit

的RabbitMQ

6

@EnableReactor

项目反应堆

7

extends Specification

Spock测试

8

@EnableBatchProcessing

春批

9

@MessageEndpoint, @EnableIntegrationPatterns

Spring集成

10

@EnableDeviceResolver

Spring Mobile

11

@Controller, @RestController, @EnableWebMvc

Spring MVC +嵌入式Tomcat

12

@EnableWebSecurity

春季安全

13

@EnableTransactionManagement

春季交易管理

"grab" Co-ordinates Deduction

即使不指定组或版本,我们也可以使用@Grab注释指定依赖关系。 例如,

@Grab('antlr')

现在,Spring Boot CLI将下载2.7.7版本的antlr因为它存在于Spring Boot的1.5.8版本的默认依赖元数据中。 Spring Boot默认维护所有依赖版本,这些版本在其CLI,Maven依赖关系管理和Gradle插件中提供。 每当我们在不声明版本的情况下声明efault依赖关系元数据中存在的任何工件的依赖关系时,将使用其表中列出的版本。

下表显示了Spring Boot CLI 1.5.8版本的默认元数据中包含的所有依赖关系及其版本。

组ID 工件ID
antlrantlr2.7.7
ch.qos.logbacklogback-access1.1.11
ch.qos.logbacklogback-classic1.1.11
ch.qos.logbacklogback-core1.1.11
com.atomikostransactions-jdbc3.9.3
com.atomikostransactions-jms3.9.3
com.atomikostransactions-jta3.9.3
com.couchbase.clientcouchbase-spring-cache2.1.0
com.couchbase.clientjava-client2.3.7
com.datastax.cassandracassandra-driver-core3.1.4
com.datastax.cassandracassandra-driver-mapping3.1.4
com.fasterxmlclassmate1.3.4
com.fasterxml.jackson.corejackson-annotations2.8.0
com.fasterxml.jackson.corejackson-core2.8.10
com.fasterxml.jackson.corejackson-databind2.8.10
com.fasterxml.jackson.dataformatjackson-dataformat-avro2.8.10
com.fasterxml.jackson.dataformatjackson-dataformat-cbor2.8.10
com.fasterxml.jackson.dataformatjackson-dataformat-csv2.8.10
com.fasterxml.jackson.dataformatjackson-dataformat-ion2.8.10
com.fasterxml.jackson.dataformatjackson-dataformat-properties2.8.10
com.fasterxml.jackson.dataformatjackson-dataformat-protobuf2.8.10
com.fasterxml.jackson.dataformatjackson-dataformat-smile2.8.10
com.fasterxml.jackson.dataformatjackson-dataformat-xml2.8.10
com.fasterxml.jackson.dataformatjackson-dataformat-yaml2.8.10
com.fasterxml.jackson.datatypejackson-datatype-guava2.8.10
com.fasterxml.jackson.datatypejackson-datatype-hibernate32.8.10
com.fasterxml.jackson.datatypejackson-datatype-hibernate42.8.10
com.fasterxml.jackson.datatypejackson-datatype-hibernate52.8.10
com.fasterxml.jackson.datatypejackson-datatype-hppc2.8.10
com.fasterxml.jackson.datatypejackson-datatype-jaxrs2.8.10
com.fasterxml.jackson.datatypejackson-datatype-jdk82.8.10
com.fasterxml.jackson.datatypejackson-datatype-joda2.8.10
com.fasterxml.jackson.datatypejackson-datatype-json-org2.8.10
com.fasterxml.jackson.datatypejackson-datatype-jsr3102.8.10
com.fasterxml.jackson.datatypejackson-datatype-jsr3532.8.10
com.fasterxml.jackson.datatypejackson-datatype-pcollections2.8.10
com.fasterxml.jackson.jaxrsjackson-jaxrs-base2.8.10
com.fasterxml.jackson.jaxrsjackson-jaxrs-cbor-provider2.8.10
com.fasterxml.jackson.jaxrsjackson-jaxrs-json-provider2.8.10
com.fasterxml.jackson.jaxrsjackson-jaxrs-smile-provider2.8.10
com.fasterxml.jackson.jaxrsjackson-jaxrs-xml-provider2.8.10
com.fasterxml.jackson.jaxrsjackson-jaxrs-yaml-provider2.8.10
com.fasterxml.jackson.jrjackson-jr-all2.8.10
com.fasterxml.jackson.jrjackson-jr-objects2.8.10
com.fasterxml.jackson.jrjackson-jr-retrofit22.8.10
com.fasterxml.jackson.jrjackson-jr-stree2.8.10
com.fasterxml.jackson.modulejackson-module-afterburner2.8.10
com.fasterxml.jackson.modulejackson-module-guice2.8.10
com.fasterxml.jackson.modulejackson-module-jaxb-annotations2.8.10
com.fasterxml.jackson.modulejackson-module-jsonSchema2.8.10
com.fasterxml.jackson.modulejackson-module-kotlin2.8.10
com.fasterxml.jackson.modulejackson-module-mrbean2.8.10
com.fasterxml.jackson.modulejackson-module-osgi2.8.10
com.fasterxml.jackson.modulejackson-module-parameter-names2.8.10
com.fasterxml.jackson.modulejackson-module-paranamer2.8.10
com.fasterxml.jackson.modulejackson-module-scala_2.102.8.10
com.fasterxml.jackson.modulejackson-module-scala_2.112.8.10
com.fasterxml.jackson.modulejackson-module-scala_2.122.8.10
com.gemstone.gemfiregemfire8.2.7
com.github.ben-manes.caffeinecaffeine2.3.5
com.github.mxab.thymeleaf.extrasthymeleaf-extras-data-attribute1.3
com.google.appengineappengine-api-1.0-sdk1.9.58
com.google.code.gsongson2.8.2
com.googlecode.json-simplejson-simple1.1.1
com.h2databaseh21.4.196
com.hazelcasthazelcast3.7.8
com.hazelcasthazelcast-client3.7.8
com.hazelcasthazelcast-hibernate43.7.1
com.hazelcasthazelcast-hibernate51.1.3
com.hazelcasthazelcast-spring3.7.8
com.jayway.jsonpathjson-path2.2.0
com.jayway.jsonpathjson-path-assert2.2.0
com.microsoft.sqlservermssql-jdbc6.1.0.jre7
com.querydslquerydsl-apt4.1.4
com.querydslquerydsl-collections4.1.4
com.querydslquerydsl-core4.1.4
com.querydslquerydsl-jpa4.1.4
com.querydslquerydsl-mongodb4.1.4
com.samskivertjmustache1.13
com.sendgridsendgrid-java2.2.2
com.sun.mailjavax.mail1.5.6
com.timgroupjava-statsd-client3.1.0
com.unboundidunboundid-ldapsdk3.2.1
com.zaxxerHikariCP2.5.1
com.zaxxerHikariCP-java62.3.13
com.zaxxerHikariCP-java72.4.13
commons-beanutilscommons-beanutils1.9.3
commons-codeccommons-codec1.10
commons-collectionscommons-collections3.2.2
commons-dbcpcommons-dbcp1.4
commons-digestercommons-digester2.1
commons-poolcommons-pool1.6
de.flapdoodle.embedde.flapdoodle.embed.mongo1.50.5
dom4jdom4j1.6.1
io.dropwizard.metricsmetrics-annotation3.1.5
io.dropwizard.metricsmetrics-core3.1.5
io.dropwizard.metricsmetrics-ehcache3.1.5
io.dropwizard.metricsmetrics-ganglia3.1.5
io.dropwizard.metricsmetrics-graphite3.1.5
io.dropwizard.metricsmetrics-healthchecks3.1.5
io.dropwizard.metricsmetrics-httpasyncclient3.1.5
io.dropwizard.metricsmetrics-jdbi3.1.5
io.dropwizard.metricsmetrics-jersey3.1.5
io.dropwizard.metricsmetrics-jersey23.1.5
io.dropwizard.metricsmetrics-jetty83.1.5
io.dropwizard.metricsmetrics-jetty93.1.5
io.dropwizard.metricsmetrics-jetty9-legacy3.1.5
io.dropwizard.metricsmetrics-json3.1.5
io.dropwizard.metricsmetrics-jvm3.1.5
io.dropwizard.metricsmetrics-log4j3.1.5
io.dropwizard.metricsmetrics-log4j23.1.5
io.dropwizard.metricsmetrics-logback3.1.5
io.dropwizard.metricsmetrics-servlet3.1.5
io.dropwizard.metricsmetrics-servlets3.1.5
io.projectreactorreactor-bus2.0.8.RELEASE
io.projectreactorreactor-core2.0.8.RELEASE
io.projectreactorreactor-groovy2.0.8.RELEASE
io.projectreactorreactor-groovy-extensions2.0.8.RELEASE
io.projectreactorreactor-logback2.0.8.RELEASE
io.projectreactorreactor-net2.0.8.RELEASE
io.projectreactorreactor-stream2.0.8.RELEASE
io.projectreactor.springreactor-spring-context2.0.7.RELEASE
io.projectreactor.springreactor-spring-core2.0.7.RELEASE
io.projectreactor.springreactor-spring-messaging2.0.7.RELEASE
io.projectreactor.springreactor-spring-webmvc2.0.7.RELEASE
io.searchboxjest2.0.4
io.undertowundertow-core1.4.20.Final
io.undertowundertow-servlet1.4.20.Final
io.undertowundertow-websockets-jsr1.4.20.Final
javax.cachecache-api1.0.0
javax.jmsjms-api1.1-rev-1
javax.mailjavax.mail-api1.5.6
javax.servletjavax.servlet-api3.1.0
javax.servletjstl1.2
javax.transactionjavax.transaction-api1.2
javax.validationvalidation-api1.1.0.Final
jaxenjaxen1.1.6
joda-timejoda-time2.9.9
junitjunit4.12
mysqlmysql-connector-java5.1.44
net.java.dev.jnajna4.2.2
net.java.dev.jnajna-platform4.2.2
net.sf.ehcacheehcache2.10.4
net.sourceforge.htmlunithtmlunit2.21
net.sourceforge.jtdsjtds1.3.1
net.sourceforge.nekohtmlnekohtml1.9.22
nz.net.ultraq.thymeleafthymeleaf-layout-dialect1.4.0
org.apache.activemqactivemq-amqp5.14.5
org.apache.activemqactivemq-blueprint5.14.5
org.apache.activemqactivemq-broker5.14.5
org.apache.activemqactivemq-camel5.14.5
org.apache.activemqactivemq-client5.14.5
org.apache.activemqactivemq-console5.14.5
org.apache.activemqactivemq-http5.14.5
org.apache.activemqactivemq-jaas5.14.5
org.apache.activemqactivemq-jdbc-store5.14.5
org.apache.activemqactivemq-jms-pool5.14.5
org.apache.activemqactivemq-kahadb-store5.14.5
org.apache.activemqactivemq-karaf5.14.5
org.apache.activemqactivemq-leveldb-store5.14.5
org.apache.activemqactivemq-log4j-appender5.14.5
org.apache.activemqactivemq-mqtt5.14.5
org.apache.activemqactivemq-openwire-generator5.14.5
org.apache.activemqactivemq-openwire-legacy5.14.5
org.apache.activemqactivemq-osgi5.14.5
org.apache.activemqactivemq-partition5.14.5
org.apache.activemqactivemq-pool5.14.5
org.apache.activemqactivemq-ra5.14.5
org.apache.activemqactivemq-run5.14.5
org.apache.activemqactivemq-runtime-config5.14.5
org.apache.activemqactivemq-shiro5.14.5
org.apache.activemqactivemq-spring5.14.5
org.apache.activemqactivemq-stomp5.14.5
org.apache.activemqactivemq-web5.14.5
org.apache.activemqartemis-amqp-protocol1.5.5
org.apache.activemqartemis-commons1.5.5
org.apache.activemqartemis-core-client1.5.5
org.apache.activemqartemis-jms-client1.5.5
org.apache.activemqartemis-jms-server1.5.5
org.apache.activemqartemis-journal1.5.5
org.apache.activemqartemis-native1.5.5
org.apache.activemqartemis-selector1.5.5
org.apache.activemqartemis-server1.5.5
org.apache.activemqartemis-service-extensions1.5.5
org.apache.commonscommons-dbcp22.1.1
org.apache.commonscommons-pool22.4.2
org.apache.derbyderby10.13.1.1
org.apache.httpcomponentshttpasyncclient4.1.3
org.apache.httpcomponentshttpclient4.5.3
org.apache.httpcomponentshttpcore4.4.8
org.apache.httpcomponentshttpmime4.5.3
org.apache.logging.log4jlog4j-1.2-api2.7
org.apache.logging.log4jlog4j-api2.7
org.apache.logging.log4jlog4j-api-scala_2.102.7
org.apache.logging.log4jlog4j-api-scala_2.112.7
org.apache.logging.log4jlog4j-core2.7
org.apache.logging.log4jlog4j-flume-ng2.7
org.apache.logging.log4jlog4j-iostreams2.7
org.apache.logging.log4jlog4j-jcl2.7
org.apache.logging.log4jlog4j-jmx-gui2.7
org.apache.logging.log4jlog4j-jul2.7
org.apache.logging.log4jlog4j-liquibase2.7
org.apache.logging.log4jlog4j-nosql2.7
org.apache.logging.log4jlog4j-slf4j-impl2.7
org.apache.logging.log4jlog4j-taglib2.7
org.apache.logging.log4jlog4j-web2.7
org.apache.solrsolr-analysis-extras5.5.4
org.apache.solrsolr-analytics5.5.4
org.apache.solrsolr-cell5.5.4
org.apache.solrsolr-clustering5.5.4
org.apache.solrsolr-core5.5.4
org.apache.solrsolr-dataimporthandler5.5.4
org.apache.solrsolr-dataimporthandler-extras5.5.4
org.apache.solrsolr-langid5.5.4
org.apache.solrsolr-map-reduce5.5.4
org.apache.solrsolr-morphlines-cell5.5.4
org.apache.solrsolr-morphlines-core5.5.4
org.apache.solrsolr-solrj5.5.4
org.apache.solrsolr-test-framework5.5.4
org.apache.solrsolr-uima5.5.4
org.apache.solrsolr-velocity5.5.4
org.apache.tomcattomcat-annotations-api8.5.23
org.apache.tomcattomcat-jdbc8.5.23
org.apache.tomcattomcat-jsp-api8.5.23
org.apache.tomcat.embedtomcat-embed-core8.5.23
org.apache.tomcat.embedtomcat-embed-el8.5.23
org.apache.tomcat.embedtomcat-embed-jasper8.5.23
org.apache.tomcat.embedtomcat-embed-websocket8.5.23
org.aspectjaspectjrt1.8.11
org.aspectjaspectjtools1.8.11
org.aspectjaspectjweaver1.8.11
org.assertjassertj-core2.6.0
org.codehaus.btmbtm2.1.4
org.codehaus.groovygroovy2.4.12
org.codehaus.groovygroovy-all2.4.12
org.codehaus.groovygroovy-ant2.4.12
org.codehaus.groovygroovy-bsf2.4.12
org.codehaus.groovygroovy-console2.4.12
org.codehaus.groovygroovy-docgenerator2.4.12
org.codehaus.groovygroovy-groovydoc2.4.12
org.codehaus.groovygroovy-groovysh2.4.12
org.codehaus.groovygroovy-jmx2.4.12
org.codehaus.groovygroovy-json2.4.12
org.codehaus.groovygroovy-jsr2232.4.12
org.codehaus.groovygroovy-nio2.4.12
org.codehaus.groovygroovy-servlet2.4.12
org.codehaus.groovygroovy-sql2.4.12
org.codehaus.groovygroovy-swing2.4.12
org.codehaus.groovygroovy-templates2.4.12
org.codehaus.groovygroovy-test2.4.12
org.codehaus.groovygroovy-testng2.4.12
org.codehaus.groovygroovy-xml2.4.12
org.codehaus.janinojanino2.7.8
org.crashubcrash.cli1.3.2
org.crashubcrash.connectors.ssh1.3.2
org.crashubcrash.connectors.telnet1.3.2
org.crashubcrash.embed.spring1.3.2
org.crashubcrash.plugins.cron1.3.2
org.crashubcrash.plugins.mail1.3.2
org.crashubcrash.shell1.3.2
org.eclipse.jettyapache-jsp9.4.7.v20170914
org.eclipse.jettyapache-jstl9.4.7.v20170914
org.eclipse.jettyjetty-alpn-client9.4.7.v20170914
org.eclipse.jettyjetty-alpn-java-client9.4.7.v20170914
org.eclipse.jettyjetty-alpn-java-server9.4.7.v20170914
org.eclipse.jettyjetty-alpn-server9.4.7.v20170914
org.eclipse.jettyjetty-annotations9.4.7.v20170914
org.eclipse.jettyjetty-ant9.4.7.v20170914
org.eclipse.jettyjetty-client9.4.7.v20170914
org.eclipse.jettyjetty-continuation9.4.7.v20170914
org.eclipse.jettyjetty-deploy9.4.7.v20170914
org.eclipse.jettyjetty-hazelcast9.4.7.v20170914
org.eclipse.jettyjetty-http9.4.7.v20170914
org.eclipse.jettyjetty-http-spi9.4.7.v20170914
org.eclipse.jettyjetty-infinispan9.4.7.v20170914
org.eclipse.jettyjetty-io9.4.7.v20170914
org.eclipse.jettyjetty-jaas9.4.7.v20170914
org.eclipse.jettyjetty-jaspi9.4.7.v20170914
org.eclipse.jettyjetty-jmx9.4.7.v20170914
org.eclipse.jettyjetty-jndi9.4.7.v20170914
org.eclipse.jettyjetty-nosql9.4.7.v20170914
org.eclipse.jettyjetty-plus9.4.7.v20170914
org.eclipse.jettyjetty-proxy9.4.7.v20170914
org.eclipse.jettyjetty-quickstart9.4.7.v20170914
org.eclipse.jettyjetty-rewrite9.4.7.v20170914
org.eclipse.jettyjetty-runner9.4.7.v20170914
org.eclipse.jettyjetty-security9.4.7.v20170914
org.eclipse.jettyjetty-server9.4.7.v20170914
org.eclipse.jettyjetty-servlet9.4.7.v20170914
org.eclipse.jettyjetty-servlets9.4.7.v20170914
org.eclipse.jettyjetty-spring9.4.7.v20170914
org.eclipse.jettyjetty-start9.4.7.v20170914
org.eclipse.jettyjetty-unixsocket9.4.7.v20170914
org.eclipse.jettyjetty-util9.4.7.v20170914
org.eclipse.jettyjetty-util-ajax9.4.7.v20170914
org.eclipse.jettyjetty-webapp9.4.7.v20170914
org.eclipse.jettyjetty-xml9.4.7.v20170914
org.eclipse.jetty.cdicdi-core9.4.7.v20170914
org.eclipse.jetty.cdicdi-servlet9.4.7.v20170914
org.eclipse.jetty.fcgifcgi-client9.4.7.v20170914
org.eclipse.jetty.fcgifcgi-server9.4.7.v20170914
org.eclipse.jetty.gcloudjetty-gcloud-session-manager9.4.7.v20170914
org.eclipse.jetty.http2http2-client9.4.7.v20170914
org.eclipse.jetty.http2http2-common9.4.7.v20170914
org.eclipse.jetty.http2http2-hpack9.4.7.v20170914
org.eclipse.jetty.http2http2-http-client-transport9.4.7.v20170914
org.eclipse.jetty.http2http2-server9.4.7.v20170914
org.eclipse.jetty.memcachedjetty-memcached-sessions9.4.7.v20170914
org.eclipse.jetty.orbitjavax.servlet.jsp2.2.0.v201112011158
org.eclipse.jetty.osgijetty-httpservice9.4.7.v20170914
org.eclipse.jetty.osgijetty-osgi-boot9.4.7.v20170914
org.eclipse.jetty.osgijetty-osgi-boot-jsp9.4.7.v20170914
org.eclipse.jetty.osgijetty-osgi-boot-warurl9.4.7.v20170914
org.eclipse.jetty.websocketjavax-websocket-client-impl9.4.7.v20170914
org.eclipse.jetty.websocketjavax-websocket-server-impl9.4.7.v20170914
org.eclipse.jetty.websocketwebsocket-api9.4.7.v20170914
org.eclipse.jetty.websocketwebsocket-client9.4.7.v20170914
org.eclipse.jetty.websocketwebsocket-common9.4.7.v20170914
org.eclipse.jetty.websocketwebsocket-server9.4.7.v20170914
org.eclipse.jetty.websocketwebsocket-servlet9.4.7.v20170914
org.ehcacheehcache3.2.3
org.ehcacheehcache-clustered3.2.3
org.ehcacheehcache-transactions3.2.3
org.elasticsearchelasticsearch2.4.6
org.firebirdsql.jdbcjaybird-jdk162.2.13
org.firebirdsql.jdbcjaybird-jdk172.2.13
org.firebirdsql.jdbcjaybird-jdk182.2.13
org.flywaydbflyway-core3.2.1
org.freemarkerfreemarker2.3.26-incubating
org.glassfishjavax.el3.0.0
org.glassfish.jersey.bundles.repackagedjersey-guava2.25.1
org.glassfish.jersey.containersjersey-container-servlet2.25.1
org.glassfish.jersey.containersjersey-container-servlet-core2.25.1
org.glassfish.jersey.corejersey-client2.25.1
org.glassfish.jersey.corejersey-common2.25.1
org.glassfish.jersey.corejersey-server2.25.1
org.glassfish.jersey.extjersey-bean-validation2.25.1
org.glassfish.jersey.extjersey-entity-filtering2.25.1
org.glassfish.jersey.extjersey-spring32.25.1
org.glassfish.jersey.mediajersey-media-jaxb2.25.1
org.glassfish.jersey.mediajersey-media-json-jackson2.25.1
org.glassfish.jersey.mediajersey-media-multipart2.25.1
org.hamcresthamcrest-core1.3
org.hamcresthamcrest-library1.3
org.hibernatehibernate-core5.0.12.Final
org.hibernatehibernate-ehcache5.0.12.Final
org.hibernatehibernate-entitymanager5.0.12.Final
org.hibernatehibernate-envers5.0.12.Final
org.hibernatehibernate-java85.0.12.Final
org.hibernatehibernate-jpamodelgen5.0.12.Final
org.hibernatehibernate-validator5.3.5.Final
org.hibernatehibernate-validator-annotation-processor5.3.5.Final
org.hsqldbhsqldb2.3.5
org.infinispaninfinispan-jcache8.2.8.Final
org.infinispaninfinispan-spring4-common8.2.8.Final
org.infinispaninfinispan-spring4-embedded8.2.8.Final
org.javassistjavassist3.21.0-GA
org.jbossjboss-transaction-spi7.6.0.Final
org.jboss.loggingjboss-logging3.3.1.Final
org.jboss.narayana.jtajdbc5.5.30.Final
org.jboss.narayana.jtajms5.5.30.Final
org.jboss.narayana.jtajta5.5.30.Final
org.jboss.narayana.jtsnarayana-jts-integration5.5.30.Final
org.jdomjdom22.0.6
org.jolokiajolokia-core1.3.7
org.jooqjooq3.9.6
org.jooqjooq-codegen3.9.6
org.jooqjooq-meta3.9.6
org.jsonjson20140107
org.liquibaseliquibase-core3.5.3
org.mariadb.jdbcmariadb-java-client1.5.9
org.mockitomockito-core1.10.19
org.mongodbmongodb-driver3.4.3
org.mongodbmongo-java-driver3.4.3
org.mortbay.jasperapache-el8.0.33
org.neo4jneo4j-ogm-api2.1.5
org.neo4jneo4j-ogm-compiler2.1.5
org.neo4jneo4j-ogm-core2.1.5
org.neo4jneo4j-ogm-http-driver2.1.5
org.postgresqlpostgresql9.4.1212.jre7
org.projectlomboklombok1.16.18
org.seleniumhq.seleniumhtmlunit-driver2.21
org.seleniumhq.seleniumselenium-api2.53.1
org.seleniumhq.seleniumselenium-chrome-driver2.53.1
org.seleniumhq.seleniumselenium-firefox-driver2.53.1
org.seleniumhq.seleniumselenium-ie-driver2.53.1
org.seleniumhq.seleniumselenium-java2.53.1
org.seleniumhq.seleniumselenium-remote-driver2.53.1
org.seleniumhq.seleniumselenium-safari-driver2.53.1
org.seleniumhq.seleniumselenium-support2.53.1
org.skyscreamerjsonassert1.4.0
org.slf4jjcl-over-slf4j1.7.25
org.slf4jjul-to-slf4j1.7.25
org.slf4jlog4j-over-slf4j1.7.25
org.slf4jslf4j-api1.7.25
org.slf4jslf4j-ext1.7.25
org.slf4jslf4j-jcl1.7.25
org.slf4jslf4j-jdk141.7.25
org.slf4jslf4j-log4j121.7.25
org.slf4jslf4j-nop1.7.25
org.slf4jslf4j-simple1.7.25
org.spockframeworkspock-core1.0-groovy-2.4
org.spockframeworkspock-spring1.0-groovy-2.4
org.springframeworkspring-aop4.3.12.RELEASE
org.springframeworkspring-aspects4.3.12.RELEASE
org.springframeworkspring-beans4.3.12.RELEASE
org.springframeworkspring-context4.3.12.RELEASE
org.springframeworkspring-context-support4.3.12.RELEASE
org.springframeworkspring-core4.3.12.RELEASE
org.springframeworkspring-expression4.3.12.RELEASE
org.springframeworkspring-instrument4.3.12.RELEASE
org.springframeworkspring-instrument-tomcat4.3.12.RELEASE
org.springframeworkspring-jdbc4.3.12.RELEASE
org.springframeworkspring-jms4.3.12.RELEASE
org.springframeworkspringloaded1.2.8.RELEASE
org.springframeworkspring-messaging4.3.12.RELEASE
org.springframeworkspring-orm4.3.12.RELEASE
org.springframeworkspring-oxm4.3.12.RELEASE
org.springframeworkspring-test4.3.12.RELEASE
org.springframeworkspring-tx4.3.12.RELEASE
org.springframeworkspring-web4.3.12.RELEASE
org.springframeworkspring-webmvc4.3.12.RELEASE
org.springframeworkspring-webmvc-portlet4.3.12.RELEASE
org.springframeworkspring-websocket4.3.12.RELEASE
org.springframework.amqpspring-amqp1.7.4.RELEASE
org.springframework.amqpspring-rabbit1.7.4.RELEASE
org.springframework.batchspring-batch-core3.0.8.RELEASE
org.springframework.batchspring-batch-infrastructure3.0.8.RELEASE
org.springframework.batchspring-batch-integration3.0.8.RELEASE
org.springframework.batchspring-batch-test3.0.8.RELEASE
org.springframework.bootspring-boot1.5.8.RELEASE
org.springframework.bootspring-boot-actuator1.5.8.RELEASE
org.springframework.bootspring-boot-actuator-docs1.5.8.RELEASE
org.springframework.bootspring-boot-autoconfigure1.5.8.RELEASE
org.springframework.bootspring-boot-autoconfigure-processor1.5.8.RELEASE
org.springframework.bootspring-boot-configuration-metadata1.5.8.RELEASE
org.springframework.bootspring-boot-configuration-processor1.5.8.RELEASE
org.springframework.bootspring-boot-devtools1.5.8.RELEASE
org.springframework.bootspring-boot-loader1.5.8.RELEASE
org.springframework.bootspring-boot-loader-tools1.5.8.RELEASE
org.springframework.bootspring-boot-starter1.5.8.RELEASE
org.springframework.bootspring-boot-starter-activemq1.5.8.RELEASE
org.springframework.bootspring-boot-starter-actuator1.5.8.RELEASE
org.springframework.bootspring-boot-starter-amqp1.5.8.RELEASE
org.springframework.bootspring-boot-starter-aop1.5.8.RELEASE
org.springframework.bootspring-boot-starter-artemis1.5.8.RELEASE
org.springframework.bootspring-boot-starter-batch1.5.8.RELEASE
org.springframework.bootspring-boot-starter-cache1.5.8.RELEASE
org.springframework.bootspring-boot-starter-cloud-connectors1.5.8.RELEASE
org.springframework.bootspring-boot-starter-data-cassandra1.5.8.RELEASE
org.springframework.bootspring-boot-starter-data-couchbase1.5.8.RELEASE
org.springframework.bootspring-boot-starter-data-elasticsearch1.5.8.RELEASE
org.springframework.bootspring-boot-starter-data-gemfire1.5.8.RELEASE
org.springframework.bootspring-boot-starter-data-jpa1.5.8.RELEASE
org.springframework.bootspring-boot-starter-data-ldap1.5.8.RELEASE
org.springframework.bootspring-boot-starter-data-mongodb1.5.8.RELEASE
org.springframework.bootspring-boot-starter-data-neo4j1.5.8.RELEASE
org.springframework.bootspring-boot-starter-data-redis1.5.8.RELEASE
org.springframework.bootspring-boot-starter-data-rest1.5.8.RELEASE
org.springframework.bootspring-boot-starter-data-solr1.5.8.RELEASE
org.springframework.bootspring-boot-starter-freemarker1.5.8.RELEASE
org.springframework.bootspring-boot-starter-groovy-templates1.5.8.RELEASE
org.springframework.bootspring-boot-starter-hateoas1.5.8.RELEASE
org.springframework.bootspring-boot-starter-integration1.5.8.RELEASE
org.springframework.bootspring-boot-starter-jdbc1.5.8.RELEASE
org.springframework.bootspring-boot-starter-jersey1.5.8.RELEASE
org.springframework.bootspring-boot-starter-jetty1.5.8.RELEASE
org.springframework.bootspring-boot-starter-jooq1.5.8.RELEASE
org.springframework.bootspring-boot-starter-jta-atomikos1.5.8.RELEASE
org.springframework.bootspring-boot-starter-jta-bitronix1.5.8.RELEASE
org.springframework.bootspring-boot-starter-jta-narayana1.5.8.RELEASE
org.springframework.bootspring-boot-starter-log4j21.5.8.RELEASE
org.springframework.bootspring-boot-starter-logging1.5.8.RELEASE
org.springframework.bootspring-boot-starter-mail1.5.8.RELEASE
org.springframework.bootspring-boot-starter-mobile1.5.8.RELEASE
org.springframework.bootspring-boot-starter-mustache1.5.8.RELEASE
org.springframework.bootspring-boot-starter-remote-shell1.5.8.RELEASE
org.springframework.bootspring-boot-starter-security1.5.8.RELEASE
org.springframework.bootspring-boot-starter-social-facebook1.5.8.RELEASE
org.springframework.bootspring-boot-starter-social-linkedin1.5.8.RELEASE
org.springframework.bootspring-boot-starter-social-twitter1.5.8.RELEASE
org.springframework.bootspring-boot-starter-test1.5.8.RELEASE
org.springframework.bootspring-boot-starter-thymeleaf1.5.8.RELEASE
org.springframework.bootspring-boot-starter-tomcat1.5.8.RELEASE
org.springframework.bootspring-boot-starter-undertow1.5.8.RELEASE
org.springframework.bootspring-boot-starter-validation1.5.8.RELEASE
org.springframework.bootspring-boot-starter-web1.5.8.RELEASE
org.springframework.bootspring-boot-starter-web-services1.5.8.RELEASE
org.springframework.bootspring-boot-starter-websocket1.5.8.RELEASE
org.springframework.bootspring-boot-test1.5.8.RELEASE
org.springframework.bootspring-boot-test-autoconfigure1.5.8.RELEASE
org.springframework.cloudspring-cloud-cloudfoundry-connector1.2.4.RELEASE
org.springframework.cloudspring-cloud-core1.2.4.RELEASE
org.springframework.cloudspring-cloud-heroku-connector1.2.4.RELEASE
org.springframework.cloudspring-cloud-localconfig-connector1.2.4.RELEASE
org.springframework.cloudspring-cloud-spring-service-connector1.2.4.RELEASE
org.springframework.dataspring-cql1.5.8.RELEASE
org.springframework.dataspring-data-cassandra1.5.8.RELEASE
org.springframework.dataspring-data-commons1.13.8.RELEASE
org.springframework.dataspring-data-couchbase2.2.8.RELEASE
org.springframework.dataspring-data-elasticsearch2.1.8.RELEASE
org.springframework.dataspring-data-envers1.1.8.RELEASE
org.springframework.dataspring-data-gemfire1.9.8.RELEASE
org.springframework.dataspring-data-jpa1.11.8.RELEASE
org.springframework.dataspring-data-keyvalue1.2.8.RELEASE
org.springframework.dataspring-data-ldap1.0.8.RELEASE
org.springframework.dataspring-data-mongodb1.10.8.RELEASE
org.springframework.dataspring-data-mongodb-cross-store1.10.8.RELEASE
org.springframework.dataspring-data-mongodb-log4j1.10.8.RELEASE
org.springframework.dataspring-data-neo4j4.2.8.RELEASE
org.springframework.dataspring-data-redis1.8.8.RELEASE
org.springframework.dataspring-data-rest-core2.6.8.RELEASE
org.springframework.dataspring-data-rest-hal-browser2.6.8.RELEASE
org.springframework.dataspring-data-rest-webmvc2.6.8.RELEASE
org.springframework.dataspring-data-solr2.1.8.RELEASE
org.springframework.hateoasspring-hateoas0.23.0.RELEASE
org.springframework.integrationspring-integration-amqp4.3.12.RELEASE
org.springframework.integrationspring-integration-core4.3.12.RELEASE
org.springframework.integrationspring-integration-event4.3.12.RELEASE
org.springframework.integrationspring-integration-feed4.3.12.RELEASE
org.springframework.integrationspring-integration-file4.3.12.RELEASE
org.springframework.integrationspring-integration-ftp4.3.12.RELEASE
org.springframework.integrationspring-integration-gemfire4.3.12.RELEASE
org.springframework.integrationspring-integration-groovy4.3.12.RELEASE
org.springframework.integrationspring-integration-http4.3.12.RELEASE
org.springframework.integrationspring-integration-ip4.3.12.RELEASE
org.springframework.integrationspring-integration-java-dsl1.2.3.RELEASE
org.springframework.integrationspring-integration-jdbc4.3.12.RELEASE
org.springframework.integrationspring-integration-jms4.3.12.RELEASE
org.springframework.integrationspring-integration-jmx4.3.12.RELEASE
org.springframework.integrationspring-integration-jpa4.3.12.RELEASE
org.springframework.integrationspring-integration-mail4.3.12.RELEASE
org.springframework.integrationspring-integration-mongodb4.3.12.RELEASE
org.springframework.integrationspring-integration-mqtt4.3.12.RELEASE
org.springframework.integrationspring-integration-redis4.3.12.RELEASE
org.springframework.integrationspring-integration-rmi4.3.12.RELEASE
org.springframework.integrationspring-integration-scripting4.3.12.RELEASE
org.springframework.integrationspring-integration-security4.3.12.RELEASE
org.springframework.integrationspring-integration-sftp4.3.12.RELEASE
org.springframework.integrationspring-integration-stomp4.3.12.RELEASE
org.springframework.integrationspring-integration-stream4.3.12.RELEASE
org.springframework.integrationspring-integration-syslog4.3.12.RELEASE
org.springframework.integrationspring-integration-test4.3.12.RELEASE
org.springframework.integrationspring-integration-twitter4.3.12.RELEASE
org.springframework.integrationspring-integration-websocket4.3.12.RELEASE
org.springframework.integrationspring-integration-ws4.3.12.RELEASE
org.springframework.integrationspring-integration-xml4.3.12.RELEASE
org.springframework.integrationspring-integration-xmpp4.3.12.RELEASE
org.springframework.integrationspring-integration-zookeeper4.3.12.RELEASE
org.springframework.kafkaspring-kafka1.1.7.RELEASE
org.springframework.kafkaspring-kafka-test1.1.7.RELEASE
org.springframework.ldapspring-ldap-core2.3.2.RELEASE
org.springframework.ldapspring-ldap-core-tiger2.3.2.RELEASE
org.springframework.ldapspring-ldap-ldif-batch2.3.2.RELEASE
org.springframework.ldapspring-ldap-ldif-core2.3.2.RELEASE
org.springframework.ldapspring-ldap-odm2.3.2.RELEASE
org.springframework.ldapspring-ldap-test2.3.2.RELEASE
org.springframework.mobilespring-mobile-device1.1.5.RELEASE
org.springframework.pluginspring-plugin-core1.2.0.RELEASE
org.springframework.pluginspring-plugin-metadata1.2.0.RELEASE
org.springframework.restdocsspring-restdocs-core1.1.3.RELEASE
org.springframework.restdocsspring-restdocs-mockmvc1.1.3.RELEASE
org.springframework.restdocsspring-restdocs-restassured1.1.3.RELEASE
org.springframework.retryspring-retry1.2.1.RELEASE
org.springframework.securityspring-security-acl4.2.3.RELEASE
org.springframework.securityspring-security-aspects4.2.3.RELEASE
org.springframework.securityspring-security-cas4.2.3.RELEASE
org.springframework.securityspring-security-config4.2.3.RELEASE
org.springframework.securityspring-security-core4.2.3.RELEASE
org.springframework.securityspring-security-crypto4.2.3.RELEASE
org.springframework.securityspring-security-data4.2.3.RELEASE
org.springframework.securityspring-security-jwt1.0.8.RELEASE
org.springframework.securityspring-security-ldap4.2.3.RELEASE
org.springframework.securityspring-security-messaging4.2.3.RELEASE
org.springframework.securityspring-security-openid4.2.3.RELEASE
org.springframework.securityspring-security-remoting4.2.3.RELEASE
org.springframework.securityspring-security-taglibs4.2.3.RELEASE
org.springframework.securityspring-security-test4.2.3.RELEASE
org.springframework.securityspring-security-web4.2.3.RELEASE
org.springframework.security.oauthspring-security-oauth2.0.14.RELEASE
org.springframework.security.oauthspring-security-oauth22.0.14.RELEASE
org.springframework.sessionspring-session1.3.1.RELEASE
org.springframework.sessionspring-session-data-gemfire1.3.1.RELEASE
org.springframework.sessionspring-session-data-mongo1.3.1.RELEASE
org.springframework.sessionspring-session-data-redis1.3.1.RELEASE
org.springframework.sessionspring-session-hazelcast1.3.1.RELEASE
org.springframework.sessionspring-session-jdbc1.3.1.RELEASE
org.springframework.socialspring-social-config1.1.4.RELEASE
org.springframework.socialspring-social-core1.1.4.RELEASE
org.springframework.socialspring-social-facebook2.0.3.RELEASE
org.springframework.socialspring-social-facebook-web2.0.3.RELEASE
org.springframework.socialspring-social-linkedin1.0.2.RELEASE
org.springframework.socialspring-social-security1.1.4.RELEASE
org.springframework.socialspring-social-twitter1.1.2.RELEASE
org.springframework.socialspring-social-web1.1.4.RELEASE
org.springframework.wsspring-ws-core2.4.0.RELEASE
org.springframework.wsspring-ws-security2.4.0.RELEASE
org.springframework.wsspring-ws-support2.4.0.RELEASE
org.springframework.wsspring-ws-test2.4.0.RELEASE
org.thymeleafthymeleaf2.1.5.RELEASE
org.thymeleafthymeleaf-spring42.1.5.RELEASE
org.thymeleaf.extrasthymeleaf-extras-conditionalcomments2.1.2.RELEASE
org.thymeleaf.extrasthymeleaf-extras-java8time2.1.0.RELEASE
org.thymeleaf.extrasthymeleaf-extras-springsecurity42.1.3.RELEASE
org.webjarshal-browser9f96c74
org.webjarswebjars-locator0.32-1
org.xerialsqlite-jdbc3.15.1
org.yamlsnakeyaml1.17
redis.clientsjedis2.9.0
wsdl4jwsdl4j1.6.3
xml-apisxml-apis1.4.01

Spring Boot CLI - Default Statements

在本章中,我们将了解Spring Boot CLI中的默认语句。 首先,我们将了解默认进口。

默认进口

Spring CLI默认自动导入许多库,因此不需要显式导入。 现在让我们考虑以下groovy脚本来理解Default Imports。

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

这里导入@RestController,默认情况下,Spring Boot已经包含@RequestMapping注释。 我们甚至不需要使用完全限定的名称。 您可以通过运行应用程序进行检查。

输入以下命令 -

E:/Test/> spring run FirstApplication.groovy

上面的命令将在控制台上生成以下输出 -

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

自动主要方法

我们不需要为groovy脚本创建标准的main方法来初始化spring应用程序。 它是为spring boot应用程序自动创建的。

Spring Boot CLI - Starter Thymeleaf Project

在本章中,我们将学习如何创建一个基于Thymeleaf的示例项目来演示Spring CLI的功能。 按照下面提到的步骤创建一个示例项目 -

Sr.No 步骤和说明
1 使用子文件夹templatesstatic创建名为TestApplication的文件夹。
2TestApplication文件夹中创建message.groovy ,在templates文件夹中创建message.groovy ,在static文件夹中创建index.html ,如下所述。
3 编译并运行应用程序以验证实现的逻辑的结果。

TestApplication/message.groovy

@Controller
@Grab('spring-boot-starter-thymeleaf')
class MessageController {
   @RequestMapping("/message")
   String getMessage(Model model) {
      String message = "Welcome to iowiki.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> 

运行该应用程序

要运行该应用程序,请键入以下命令 -

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

现在,Spring Boot CLI将开始运行,下载所需的依赖项,运行嵌入式tomcat,部署应用程序并启动它。 您可以在控制台上看到以下输出 -

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)

在浏览器中浏览应用程序

我们基于弹簧的休息应用现已准备就绪。 打开网址为“ http://localhost:8080/ ”,您将看到以下输出 -

Go to Message

单击消息链接,您将看到以下输出 -

Message − Welcome to iowiki.com!

重要的几点 (Important points)

请考虑以下几点以了解Spring CLI采取的操作 -

  • @Grab('spring-boot-starter-thymeleaf')注释指示CLI下载spring-boot-starter-thymeleaf 1.5.8.RELEASE版本。

  • Spring CLI使用其元数据自动检测版本,因为我们在此处未指定任何组ID或版本ID。

  • 最后在代码编译之后,在嵌入式tomcat上部署war,在默认端口8080上启动嵌入式tomcat服务器。

Spring Boot CLI - Testing Application

在本章中,我们将测试在Hello World示例章节中创建的示例项目,以演示Spring CLI的测试功能。 按照下表中列出的步骤测试示例项目 -

Sr.No 步骤和说明
1Test文件夹中创建FirstApplication.groovyTestFirstApplication.groovy ,如下所述。
2 编译并运行应用程序以验证实现的逻辑的结果。

FirstApplication/FirstApplication.groovy

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

FirstApplication/TestFirstApplication.groovy

class TestFirstApplication {
   @Test
   void welcomeTest() {
      assertEquals("Welcome to iowiki.com", new FirstApplication().welcome())
   }
} 

运行该应用程序

要运行该应用程序,请键入以下命令 -

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

现在,Spring Boot CLI将开始运行,下载所需的依赖项,编译源代码和测试文件以及单元测试代码。 控制台将生成以下输出 -

Resolving dependencies........................................................
.
Time: 0.457
OK (1 test)

重要的几点 (Important points)

请考虑以下几点以了解Spring CLI采取的操作 -

  • @Test注释指示CLI下载JUnit 4.12版本。

  • Spring CLI使用其元数据自动检测版本,因为我们没有指定任何依赖项。

  • 最后,在代码编译之后,测试应用程序。

Spring Boot CLI - Packaging Application

Spring启动CLI提供了jar命令,以便将应用程序打包为jar文件。 让我们测试在Starter Thymeleaf项目章节中创建的示例项目,以演示Spring CLI的打包功能。

按照下面描述的步骤打包示例项目 -

打包应用程序

要打包应用程序,请先键入以下命令 -

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

输出 (Output)

该命令将打印以下输出 -

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

输出 (Output)

现在,您可以看到在TestApplication文件夹中创建的两个新文件。

  • TestApplication.jar - 可执行jar文件。

  • TestApplication.jar.original - 原始jar文件。

Include/Exclude

默认情况下,包含以下目录及其内容 -

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

默认情况下,以下目录及其内容被排除在外 -

  • repository
  • build
  • target
  • * .jar文件
  • * .groovy文件

使用--include ,我们可以包含其他排除的目录。 使用--exclude ,我们可以排除其他包含的目录。

运行可执行的Jar

要运行可执行文件Jar,请键入以下命令 -

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

上面的命令将在控制台上生成以下输出 -

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

在浏览器中浏览应用程序

我们的弹簧式休息应用现已准备就绪。 打开网址为“ http://localhost:8080/ ”,您将看到以下输出 -

Go to Message

单击消息链接,您将看到以下输出 -

Message: Welcome to iowiki.com!

Spring Boot CLI - Creating Project

Spring Boot CLI可用于创建一个新项目,使用init命令将maven作为默认构建工具。 Maven将使用https://start.spring.io服务。 在下面的示例中,我们将使用百日咳创建一个Web应用程序。 转到E:\Test文件夹并键入以下命令 -

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

上面的命令将生成以下输出 -

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

创建Gradle项目

我们也可以通过设置--build as gradle来创建基于Gradle的项目。 要以更好的方式理解这一点,请考虑下面给出的示例。 转到E:\Test文件夹并键入以下命令 -

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

上面的命令将生成以下输出 -

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

Spring Boot CLI - Using Shell

Spring Boot CLI提供了一个Shell接口来运行命令,我们可以在其中直接运行命令,如下所示。 转到E:\Test文件夹并键入以下命令 -

E:/Test> 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.

Running commands in Shell

在本节中,我们将学习如何在Shell中运行命令。 输入以下内容并查看输出 -

version
Spring CLI v1.5.8.RELEASE

您可以按Tab键自动完成命令,然后键入exit以完成shell控制台。

在shell中测试应用程序

现在让我们学习如何在shell中测试应用程序。 键入以下代码行并查看输出 -

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>
↑回到顶部↑
WIKI教程 @2018