搭建自己的spring Initializr服务器

概述

我们idea新建springboot项目的时候会选择一个spring initializr服务地址,默认选择的是https://start.spring.io ,但是有时候我们网络不好的情况下, 这个地址连接失败,springboot项目会无法创建,这个spring initializr其实是一个springboot项目,所以只要开源了这个项目,我们自己也可以搭建一个属于自己的spring initializr 服务器,所幸spring官方在github上面开源了https://github.com/spring-io/initializr .

idea默认的spring initializr服务器地址

搭建属于spring initializr服务器

  1. 下载spring在github上面开源的initializr项目

    1
    git clone https://github.com/spring-io/initializr
  2. 关于这个initializr项目文档

    https://docs.spring.io/initializr/docs/current-SNAPSHOT/reference/htmlsingle

  3. initializr的releases版本

    https://github.com/spring-io/initializr/releases

    我下载的是0.4.0版本,目前最新版本是0.5.0版本,我尝试过最新版本,有jar冲突,找了半天没找到哪个jar包.后来,我在github上面提了这个问题,后来spring给出的答案是版本问题,原来是0.5.0是基于springboot2.0开发的,后来换成2.0就没问题了.很尴尬,spring官方以后建议我到stackoverflow或者gitter上面去提这个问题.

    https://github.com/spring-io/initializr/issues/633

  4. 编译initializr项目

    下载0.4.0release包,然后解压,进入initializr项目root路径,执行下面命令

    1
    2
    cd initializr-0.4.0.RELEASE
    ./mvnw clean install
  5. 创建一个新的web项目

    • 项目结构

      spring-initializr项目结构

    • InitializrApplication.java

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      package com.initializr;

      import org.springframework.boot.SpringApplication;
      import org.springframework.boot.autoconfigure.SpringBootApplication;

      /**
      * 程序入口
      *
      * @author wangyong
      * @date 2018年03月25日
      */
      @SpringBootApplication
      public class InitializrApplication {

      public static void main(String[] args) {
      SpringApplication.run(InitializrApplication.class, args);
      }
      }

    • pom.xml

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      30
      31
      32
      33
      34
      35
      36
      37
      38
      39
      40
      41
      42
      43
      44
      45
      46
      47
      48
      49
      50
      51
      52
      53
      54
      55
      56
      57
      58
      59
      60
      61
      62
      63
      <?xml version="1.0" encoding="UTF-8"?>
      <project xmlns="http://maven.apache.org/POM/4.0.0"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
      <modelVersion>4.0.0</modelVersion>

      <groupId>com</groupId>
      <artifactId>spring-initializr</artifactId>
      <version>0.0.1-SNAPSHOT</version>
      <packaging>jar</packaging>

      <name>spring-initializr</name>
      <description>Demo project for Spring Boot</description>

      <parent>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-parent</artifactId>
      <version>1.5.10.RELEASE</version>
      <relativePath/> <!-- lookup parent from repository -->
      </parent>

      <properties>
      <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
      <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
      <java.version>1.8</java.version>
      </properties>

      <dependencies>
      <!--0.6.0目前有点问题:jar冲突-->
      <!--<dependency>-->
      <!--<groupId>io.spring.initializr</groupId>-->
      <!--<artifactId>initializr-web</artifactId>-->
      <!--<version>0.6.0.BUILD-SNAPSHOT</version>-->
      <!--</dependency>-->

      <dependency>
      <groupId>io.spring.initializr</groupId>
      <artifactId>initializr-web</artifactId>
      <version>0.4.0.RELEASE</version>
      </dependency>

      <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
      </dependency>

      <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-test</artifactId>
      <scope>test</scope>
      </dependency>
      </dependencies>

      <build>
      <plugins>
      <plugin>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-maven-plugin</artifactId>
      </plugin>
      </plugins>
      </build>

      </project>
    • application.yml

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      30
      31
      32
      33
      34
      35
      36
      37
      38
      39
      40
      41
      42
      43
      44
      45
      46
      47
      48
      49
      50
      51
      52
      53
      54
      55
      56
      57
      58
      59
      60
      61
      62
      63
      64
      65
      66
      67
      68
      69
      70
      71
      72
      73
      74
      75
      76
      77
      78
      79
      80
      81
      82
      83
      84
      85
      86
      87
      88
      89
      90
      91
      92
      93
      94
      95
      96
      97
      98
      99
      100
      101
      102
      103
      104
      105
      106
      107
      108
      109
      110
      111
      112
      113
      114
      115
      116
      117
      118
      119
      120
      121
      122
      123
      124
      125
      126
      127
      128
      129
      130
      131
      132
      133
      134
      135
      136
      137
      138
      139
      140
      141
      142
      143
      144
      145
      146
      147
      148
      149
      150
      151
      152
      153
      154
      155
      156
      157
      158
      159
      160
      161
      162
      163
      164
      165
      166
      167
      168
      169
      170
      171
      172
      173
      174
      175
      176
      177
      178
      179
      180
      181
      182
      183
      184
      185
      186
      187
      188
      189
      190
      191
      192
      193
      194
      195
      196
      197
      198
      199
      200
      201
      202
      203
      204
      205
      206
      207
      208
      209
      210
      211
      212
      213
      214
      215
      216
      217
      218
      219
      220
      221
      222
      223
      224
      225
      226
      227
      228
      229
      230
      231
      232
      233
      234
      235
      236
      237
      238
      239
      240
      241
      242
      243
      244
      245
      246
      247
      248
      249
      250
      251
      252
      253
      254
      255
      256
      257
      258
      259
      260
      261
      262
      263
      264
      265
      266
      267
      268
      269
      270
      271
      272
      273
      274
      275
      276
      277
      278
      279
      280
      281
      282
      283
      284
      285
      286
      287
      288
      289
      290
      291
      292
      293
      294
      295
      296
      297
      298
      299
      300
      301
      302
      303
      304
      305
      306
      307
      308
      309
      310
      311
      312
      313
      314
      315
      316
      317
      318
      319
      320
      321
      322
      323
      324
      325
      326
      327
      328
      329
      330
      331
      332
      333
      334
      335
      336
      337
      338
      339
      340
      341
      342
      343
      344
      345
      346
      347
      348
      349
      350
      351
      352
      353
      354
      355
      356
      357
      358
      359
      360
      361
      362
      363
      364
      365
      366
      367
      368
      369
      370
      371
      372
      373
      374
      375
      376
      377
      378
      379
      380
      381
      382
      383
      384
      385
      386
      387
      388
      389
      390
      391
      392
      393
      394
      395
      396
      397
      398
      399
      400
      401
      402
      403
      404
      405
      406
      407
      408
      409
      410
      411
      412
      413
      414
      415
      416
      417
      418
      419
      420
      421
      422
      423
      424
      425
      426
      427
      428
      429
      430
      431
      432
      433
      434
      435
      436
      437
      438
      439
      440
      441
      442
      443
      444
      445
      446
      447
      448
      449
      450
      451
      452
      453
      454
      455
      456
      457
      458
      459
      460
      461
      462
      463
      464
      465
      466
      467
      468
      469
      470
      471
      472
      473
      474
      475
      476
      477
      478
      479
      480
      481
      482
      483
      484
      485
      486
      487
      488
      489
      490
      491
      492
      493
      494
      495
      496
      497
      498
      499
      500
      501
      502
      503
      504
      505
      506
      507
      508
      509
      510
      511
      512
      513
      514
      515
      516
      517
      518
      519
      520
      521
      522
      523
      524
      525
      526
      527
      528
      529
      530
      531
      532
      533
      534
      535
      536
      537
      538
      539
      540
      541
      542
      543
      544
      545
      546
      547
      548
      549
      550
      551
      552
      553
      554
      555
      556
      557
      558
      559
      560
      561
      562
      563
      564
      565
      566
      567
      568
      569
      570
      571
      572
      573
      574
      575
      576
      577
      578
      579
      580
      581
      582
      583
      584
      585
      586
      587
      588
      589
      590
      591
      592
      593
      594
      595
      596
      597
      598
      599
      600
      601
      602
      603
      604
      605
      606
      607
      608
      609
      610
      611
      612
      613
      614
      615
      616
      617
      618
      619
      620
      621
      622
      623
      624
      625
      626
      627
      628
      629
      630
      631
      632
      633
      634
      635
      636
      637
      638
      639
      640
      641
      642
      643
      644
      645
      646
      647
      648
      649
      650
      651
      652
      653
      654
      655
      656
      657
      658
      659
      660
      661
      662
      663
      664
      665
      666
      667
      668
      669
      670
      671
      672
      673
      674
      675
      676
      677
      678
      679
      680
      681
      682
      683
      684
      685
      686
      687
      688
      689
      690
      691
      692
      693
      694
      695
      696
      697
      698
      699
      700
      701
      702
      703
      704
      705
      706
      707
      708
      709
      710
      711
      712
      713
      714
      715
      716
      717
      718
      719
      720
      721
      722
      723
      724
      725
      726
      727
      728
      729
      730
      731
      732
      733
      734
      735
      736
      737
      738
      739
      740
      741
      742
      743
      744
      745
      746
      747
      748
      749
      750
      751
      752
      753
      754
      755
      756
      757
      758
      759
      760
      761
      762
      763
      764
      765
      766
      767
      768
      769
      770
      771
      772
      773
      774
      775
      776
      777
      778
      779
      780
      781
      782
      783
      784
      785
      786
      787
      788
      789
      790
      791
      792
      793
      794
      795
      796
      797
      798
      799
      800
      801
      802
      803
      804
      805
      806
      807
      808
      809
      810
      811
      812
      813
      814
      815
      816
      817
      818
      819
      820
      821
      822
      823
      824
      825
      826
      827
      828
      829
      830
      831
      832
      833
      834
      835
      836
      837
      838
      839
      840
      841
      842
      843
      844
      845
      846
      847
      848
      849
      850
      851
      852
      853
      854
      855
      856
      857
      858
      859
      860
      861
      862
      863
      864
      865
      866
      867
      868
      869
      870
      871
      872
      873
      874
      875
      876
      877
      878
      879
      880
      881
      882
      883
      884
      885
      886
      887
      888
      889
      890
      891
      892
      893
      894
      895
      896
      897
      898
      899
      900
      901
      902
      903
      904
      905
      906
      907
      908
      909
      910
      911
      912
      913
      914
      915
      916
      917
      918
      919
      920
      921
      922
      923
      924
      925
      926
      927
      928
      929
      930
      931
      932
      933
      934
      935
      936
      937
      938
      939
      940
      941
      942
      943
      944
      945
      946
      947
      948
      949
      950
      951
      952
      953
      954
      955
      956
      957
      958
      959
      960
      961
      962
      963
      964
      965
      966
      967
      968
      969
      970
      971
      972
      973
      974
      975
      976
      977
      978
      979
      980
      981
      982
      983
      984
      985
      986
      987
      988
      989
      990
      991
      992
      993
      994
      995
      996
      997
      998
      999
      1000
      1001
      1002
      1003
      1004
      1005
      1006
      1007
      1008
      1009
      1010
      1011
      1012
      1013
      1014
      1015
      1016
      1017
      1018
      1019
      1020
      1021
      1022
      1023
      1024
      1025
      1026
      1027
      1028
      1029
      1030
      1031
      1032
      1033
      1034
      1035
      1036
      1037
      1038
      1039
      1040
      1041
      1042
      1043
      1044
      1045
      1046
      1047
      1048
      1049
      1050
      1051
      1052
      1053
      1054
      1055
      1056
      1057
      1058
      1059
      1060
      1061
      1062
      1063
      1064
      1065
      1066
      1067
      1068
      1069
      1070
      1071
      1072
      1073
      1074
      1075
      1076
      1077
      1078
      1079
      1080
      1081
      1082
      1083
      1084
      1085
      1086
      1087
      1088
      1089
      1090
      1091
      1092
      1093
      1094
      1095
      1096
      1097
      1098
      1099
      1100
      1101
      1102
      1103
      1104
      1105
      1106
      1107
      1108
      1109
      1110
      1111
      1112
      1113
      1114
      1115
      1116
      1117
      1118
      1119
      1120
      initializr:
      group-id:
      value: com
      description: spring initializr project
      description:
      value: spring initializr project
      package-name:
      value: com.initializr
      packagings:
      - name: Jar
      id: jar
      default: true
      - name: War
      id: war
      default: false
      java-versions:
      - id: 1.8
      languages:
      - name: JAVA
      id: java
      default: true
      types:
      - name: Maven Project
      id: maven-project
      description: Generate a Maven based project archive
      sts-id: starter.zip
      tags:
      build: maven
      format: project
      default: true
      action: /starter.zip
      - name: Maven POM
      id: maven-build
      description: Generate a Maven pom.xml
      sts-id: pom.xml
      tags:
      build: maven
      format: build
      default: false
      action: /pom.xml
      env:
      boms:
      spring-cloud:
      groupId: org.springframework.cloud
      artifactId: spring-cloud-dependencies
      versionProperty: spring-cloud.version
      order: 50
      mappings:
      - versionRange: "[1.2.3.RELEASE,1.3.0.RELEASE)"
      version: Angel.SR6
      - versionRange: "[1.3.0.RELEASE,1.4.0.RELEASE)"
      version: Brixton.SR7
      - versionRange: "[1.4.0.RELEASE,1.5.x.RELEASE)"
      version: Camden.SR7
      - versionRange: "[1.5.0.RELEASE,1.5.x.BUILD-SNAPSHOT)"
      version: Dalston.SR1
      - versionRange: "[1.5.x.BUILD-SNAPSHOT,2.0.0.M1)"
      version: Dalston.BUILD-SNAPSHOT
      repositories: spring-snapshots,spring-milestones
      - versionRange: "2.0.0.M1"
      version: Finchley.BUILD-SNAPSHOT
      repositories: spring-snapshots,spring-milestones
      spring-cloud-services:
      groupId: io.pivotal.spring.cloud
      artifactId: spring-cloud-services-dependencies
      versionProperty: spring-cloud-services.version
      additionalBoms: [spring-cloud]
      mappings:
      - versionRange: "[1.3.0.RELEASE,1.4.0.RELEASE)"
      version: 1.2.1.RELEASE
      - versionRange: "[1.4.0.RELEASE,1.5.x.RELEASE]"
      version: 1.5.0.RELEASE
      - versionRange: "[1.5.x.BUILD-SNAPSHOT, 2.0.0.M1)"
      version: 1.5.1.BUILD-SNAPSHOT
      repositories: spring-snapshots,spring-milestones
      spring-cloud-task:
      groupId: org.springframework.cloud
      artifactId: spring-cloud-task-dependencies
      versionProperty: spring-cloud-task.version
      order: 30
      mappings:
      - versionRange: "[1.3.0.RELEASE, 1.4.0.RELEASE]"
      version: 1.0.3.RELEASE
      - versionRange: "[1.4.0.RELEASE, 1.5.0.RC1)"
      version: 1.1.2.RELEASE
      - versionRange: "[1.5.0.RC1, 2.0.0.M1)"
      version: 1.2.0.RELEASE
      vaadin:
      groupId: com.vaadin
      artifactId: vaadin-bom
      versionProperty: vaadin.version
      mappings:
      - versionRange: "[1.3.0.RELEASE, 1.5.0.M1)"
      version: 7.7.5
      - versionRange: "1.5.0.M1"
      version: 8.0.6
      stormpath:
      groupId: com.stormpath.sdk
      artifactId: stormpath-bom
      versionProperty: stormpath.version
      version: 1.5.2
      keycloak:
      groupId: org.keycloak.bom
      artifactId: keycloak-adapter-bom
      versionProperty: keycloak.version
      version: 3.1.0.Final
      gradle:
      dependency-management-plugin-version: 0.6.0.RELEASE
      kotlin:
      version: 1.1.3
      dependencies:
      - name: Core
      content:
      - name: Security
      id: security
      description: Secure your application via spring-security
      weight: 100
      links:
      - rel: guide
      href: https://spring.io/guides/gs/securing-web/
      description: Securing a Web Application
      - rel: guide
      href: https://spring.io/guides/tutorials/spring-boot-oauth2/
      description: Spring Boot and OAuth2
      - rel: guide
      href: https://spring.io/guides/gs/authenticating-ldap/
      description: Authenticating a User with LDAP
      - rel: reference
      href: http://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#boot-features-security
      - name: AOP
      id: aop
      description: Aspect-oriented programming including spring-aop and AspectJ
      - name: Atomikos (JTA)
      id: jta-atomikos
      description: JTA distributed transactions via Atomikos
      versionRange: 1.2.0.M1
      links:
      - rel: guide
      href: https://spring.io/guides/gs/managing-transactions/
      description: Managing Transactions
      - rel: reference
      href: http://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#boot-features-jta-atomikos
      - name: Bitronix (JTA)
      id: jta-bitronix
      description: JTA distributed transactions via Bitronix
      versionRange: 1.2.0.M1
      links:
      - rel: guide
      href: https://spring.io/guides/gs/managing-transactions/
      description: Managing Transactions
      - rel: reference
      href: http://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#boot-features-jta-bitronix
      - name: Narayana (JTA)
      id: jta-narayana
      description: JTA distributed transactions via Narayana
      versionRange: 1.4.0.M2
      links:
      - rel: guide
      href: https://spring.io/guides/gs/managing-transactions/
      description: Managing Transactions
      - rel: reference
      href: http://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#boot-features-jta-narayana
      - name: Cache
      id: cache
      description: Spring's Cache abstraction
      versionRange: 1.3.0.M1
      links:
      - rel: guide
      href: https://spring.io/guides/gs/caching/
      description: Caching Data with Spring
      - rel: reference
      href: http://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#boot-features-caching
      - name: DevTools
      id: devtools
      groupId: org.springframework.boot
      artifactId: spring-boot-devtools
      scope: runtime
      description: Spring Boot Development Tools
      versionRange: 1.3.0.M1
      starter: false
      links:
      - rel: reference
      href: http://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#using-boot-devtools
      - name: Configuration Processor
      id: configuration-processor
      groupId: org.springframework.boot
      artifactId: spring-boot-configuration-processor
      scope: compileOnly
      description: Generate metadata for your custom configuration keys
      versionRange: 1.2.0.RELEASE
      starter: false
      links:
      - rel: reference
      href: http://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#configuration-metadata-annotation-processor
      - name: Validation
      id: validation
      description: JSR-303 validation infrastructure (already included with web)
      versionRange: 1.3.0.M1
      links:
      - rel: guide
      href: https://spring.io/guides/gs/validating-form-input/
      title: Validating Form Input
      - name: Session
      id: session
      groupId: org.springframework.session
      artifactId: spring-session
      description: API and implementations for managing a user’s session information
      versionRange: "[1.3.0.M2,2.0.0.M2]"
      starter: false
      - name: Retry
      id: retry
      groupId: org.springframework.retry
      artifactId: spring-retry
      description: Provide declarative retry support via spring-retry
      versionRange: 1.3.0.M2
      starter: false
      - name: Lombok
      id: lombok
      groupId: org.projectlombok
      artifactId: lombok
      scope: compileOnly
      description: Java annotation library which helps to reduce boilerplate code and code faster
      mappings:
      - versionRange: "[1.2.0.RELEASE,1.4.0.M1)"
      version: 1.16.6
      starter: false
      - name: Web
      content:
      - name: Web
      id: web
      description: Full-stack web development with Tomcat and Spring MVC
      weight: 100
      facets:
      - web
      links:
      - rel: guide
      href: https://spring.io/guides/gs/rest-service/
      description: Building a RESTful Web Service
      - rel: reference
      href: http://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#boot-features-developing-web-applications
      - rel: guide
      href: https://spring.io/guides/gs/serving-web-content/
      description: Serving Web Content with Spring MVC
      - rel: guide
      href: https://spring.io/guides/tutorials/bookmarks/
      description: Building REST services with Spring
      - name: Reactive Web
      id: webflux
      versionRange: 2.0.0.M1
      description: Reactive web development with Netty and Spring WebFlux
      weight: 90
      - name: Websocket
      id: websocket
      description: Websocket development with SockJS and STOMP
      links:
      - rel: guide
      href: https://spring.io/guides/gs/messaging-stomp-websocket/
      description: Using WebSocket to build an interactive web application
      - rel: reference
      href: http://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#boot-features-websockets
      - name: Web Services
      id: web-services
      description: Contract-first SOAP service development with Spring Web Services
      aliases:
      - ws
      mappings:
      - versionRange: 1.4.0.M3
      artifactId: spring-boot-starter-web-services
      - versionRange: "[1.1.0.RELEASE,1.4.0.M3)"
      artifactId: spring-boot-starter-ws
      links:
      - rel: guide
      href: https://spring.io/guides/gs/producing-web-service/
      description: Producing a SOAP web service
      - rel: reference
      href: http://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#boot-features-webservices
      - name: Jersey (JAX-RS)
      id: jersey
      description: RESTful Web Services framework with support of JAX-RS
      versionRange: 1.2.0.RELEASE
      links:
      - rel: reference
      href: http://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#boot-features-jersey
      - name: Apache CXF (JAX-RS)
      id: cxf-jaxrs
      groupId: org.apache.cxf
      artifactId: cxf-spring-boot-starter-jaxrs
      version: 3.1.11
      description: RESTful Web Services framework with support of JAX-RS
      versionRange: "[1.4.0.RELEASE,2.0.0.M1)"
      links:
      - rel: reference
      href: https://cxf.apache.org/docs/springboot.html#SpringBoot-SpringBootCXFJAX-RSStarter
      - name: Ratpack
      id: ratpack
      description: Spring Boot integration for the Ratpack framework
      groupId: io.ratpack
      artifactId: ratpack-spring-boot
      version: 1.1.1
      versionRange: "[1.2.0.RELEASE,2.0.0.M1)"
      starter: false
      - name: Vaadin
      id: vaadin
      facets:
      - web
      groupId: com.vaadin
      artifactId: vaadin-spring-boot-starter
      description: Vaadin java web application framework
      bom: vaadin
      versionRange: 1.2.0.RELEASE
      mappings:
      - versionRange: "[1.2.0.RELEASE,1.4.0.RELEASE)"
      version: 1.0.2
      - versionRange: "[1.4.0.RELEASE,1.5.0.M1)"
      version: 1.2.0
      links:
      - rel: guide
      href: https://spring.io/guides/gs/crud-with-vaadin/
      description: Creating CRUD UI with Vaadin
      - rel: reference
      href: https://vaadin.com/spring
      - name: Rest Repositories
      id: data-rest
      weight: 10
      description: Exposing Spring Data repositories over REST via spring-data-rest-webmvc
      links:
      - rel: guide
      href: https://spring.io/guides/gs/accessing-data-rest/
      description: Accessing JPA Data with REST
      - rel: guide
      href: https://spring.io/guides/gs/accessing-neo4j-data-rest/
      description: Accessing Neo4j Data with REST
      - rel: guide
      href: https://spring.io/guides/gs/accessing-mongodb-data-rest/
      description: Accessing MongoDB Data with REST
      - rel: reference
      href: http://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#howto-use-exposing-spring-data-repositories-rest-endpoint
      - name: HATEOAS
      id: hateoas
      description: HATEOAS-based RESTful services
      versionRange: 1.2.2.RELEASE
      links:
      - rel: guide
      href: https://spring.io/guides/gs/rest-hateoas/
      description: Building a Hypermedia-Driven RESTful Web Service
      - rel: reference
      href: http://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#boot-features-spring-hateoas
      - name: Rest Repositories HAL Browser
      id: data-rest-hal
      description: Browsing Spring Data REST repositories in your browser
      groupId: org.springframework.data
      artifactId: spring-data-rest-hal-browser
      versionRange: 1.3.0.M1
      starter: false
      - name: Mobile
      id: mobile
      description: Simplify the development of mobile web applications with spring-mobile
      - name: REST Docs
      id: restdocs
      description: Document RESTful services by combining hand-written and auto-generated documentation
      groupId: org.springframework.restdocs
      artifactId: spring-restdocs-mockmvc
      mappings:
      - versionRange: "[1.2.0.RELEASE,1.3.0.RC1)"
      version: 1.0.1.RELEASE
      scope: test
      - name: Stormpath
      id: stormpath
      description: Stormpath default starter including Spring MVC, Thymeleaf and Spring Security
      groupId: com.stormpath.spring
      artifactId: stormpath-default-spring-boot-starter
      versionRange: "[1.5.0.RC1,2.0.0.M1)"
      bom: stormpath
      - name: Keycloak
      id: keycloak
      description: Keycloak integration, an open source Identity and Access Management solution.
      groupId: org.keycloak
      artifactId: keycloak-spring-boot-starter
      versionRange: "[1.5.3.RELEASE,2.0.0.M1)"
      bom: keycloak
      links:
      - rel: reference
      href: https://keycloak.gitbooks.io/documentation/securing_apps/topics/oidc/java/spring-boot-adapter.html
      - name: Template Engines
      content:
      - name: Freemarker
      id: freemarker
      description: FreeMarker templating engine
      facets:
      - web
      keywords:
      - template
      links:
      - rel: reference
      href: http://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#boot-features-spring-mvc-template-engines
      - name: Velocity
      id: velocity
      description: Velocity templating engine
      versionRange: "[1.1.6.RELEASE,1.4.0.M2)"
      facets:
      - web
      keywords:
      - template
      - name: Groovy Templates
      id: groovy-templates
      description: Groovy templating engine
      facets:
      - web
      links:
      - rel: reference
      href: http://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#boot-features-spring-mvc-template-engines
      - name: Thymeleaf
      id: thymeleaf
      description: Thymeleaf templating engine, including integration with Spring
      weight: 100
      facets:
      - web
      keywords:
      - template
      links:
      - rel: guide
      href: https://spring.io/guides/gs/handling-form-submission/
      description: Handling Form Submission
      - rel: reference
      href: http://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#boot-features-spring-mvc-template-engines
      - name: Mustache
      id: mustache
      description: Mustache templating engine
      versionRange: 1.2.2.RELEASE
      facets:
      - web
      keywords:
      - template
      links:
      - rel: reference
      href: http://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#boot-features-spring-mvc-template-engines
      - name: SQL
      content:
      - name: JPA
      id: data-jpa
      description: Java Persistence API including spring-data-jpa, spring-orm and Hibernate
      weight: 100
      aliases:
      - jpa
      links:
      - rel: guide
      href: https://spring.io/guides/gs/accessing-data-jpa/
      description: Accessing Data with JPA
      - rel: reference
      href: http://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#boot-features-jpa-and-spring-data
      - name: JOOQ
      id: jooq
      description: Persistence support using Java Object Oriented Querying
      versionRange: 1.3.0.M2
      links:
      - rel: reference
      href: http://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#boot-features-jooq
      - name: MyBatis
      id: mybatis
      description: Persistence support using MyBatis
      groupId: org.mybatis.spring.boot
      artifactId: mybatis-spring-boot-starter
      mappings:
      - versionRange: "[1.3.0.RELEASE,1.4.0.RELEASE)"
      version: 1.1.1
      - versionRange: "[1.4.0.RELEASE,1.5.0.RELEASE)"
      version: 1.2.1
      - versionRange: 1.5.0.RELEASE
      version: 1.3.0
      - name: JDBC
      id: jdbc
      description: JDBC databases
      links:
      - rel: guide
      href: https://spring.io/guides/gs/relational-data-access/
      description: Accessing Relational Data using JDBC with Spring
      - rel: guide
      href: https://spring.io/guides/gs/managing-transactions/
      description: Managing Transactions
      - rel: reference
      href: http://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#boot-features-sql
      - name: H2
      id: h2
      description: H2 database (with embedded support)
      groupId: com.h2database
      artifactId: h2
      scope: runtime
      starter: false
      - name: HSQLDB
      id: hsql
      description: HSQLDB database (with embedded support)
      groupId: org.hsqldb
      artifactId: hsqldb
      scope: runtime
      starter: false
      - name: Apache Derby
      id: derby
      description: Apache Derby database (with embedded support)
      groupId: org.apache.derby
      artifactId: derby
      scope: runtime
      versionRange: 1.2.2.RELEASE
      starter: false
      - name: MySQL
      id: mysql
      description: MySQL jdbc driver
      groupId: mysql
      artifactId: mysql-connector-java
      scope: runtime
      starter: false
      links:
      - rel: guide
      href: https://spring.io/guides/gs/accessing-data-mysql/
      description: Accessing data with MySQL
      - name: PostgreSQL
      id: postgresql
      description: PostgreSQL jdbc driver
      groupId: org.postgresql
      artifactId: postgresql
      mappings:
      - versionRange: "[1.2.0.RELEASE,1.3.0.M1)"
      version: 9.4-1201-jdbc41
      scope: runtime
      starter: false
      - name: SQL Server
      id: sqlserver
      description: Microsoft SQL Server jdbc driver
      versionRange: 1.5.0.RC1
      groupId: com.microsoft.sqlserver
      artifactId: mssql-jdbc
      scope: runtime
      starter: false
      - name: Flyway
      id: flyway
      description: Flyway Database Migrations library
      groupId: org.flywaydb
      artifactId: flyway-core
      starter: false
      links:
      - rel: reference
      href: http://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#howto-execute-flyway-database-migrations-on-startup
      - name: Liquibase
      id: liquibase
      description: Liquibase Database Migrations library
      groupId: org.liquibase
      artifactId: liquibase-core
      starter: false
      links:
      - rel: reference
      href: http://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#howto-execute-liquibase-database-migrations-on-startup
      - name: NoSQL
      content:
      - name: MongoDB
      id: data-mongodb
      description: MongoDB NoSQL Database, including spring-data-mongodb
      weight: 50
      links:
      - rel: guide
      href: https://spring.io/guides/gs/accessing-data-mongodb/
      description: Accessing Data with MongoDB
      - rel: reference
      href: http://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#boot-features-mongodb
      - name: Reactive MongoDB
      id: data-mongodb-reactive
      description: MongoDB NoSQL Database, including spring-data-mongodb and the reactive driver
      versionRange: 2.0.0.M1
      weight: 50
      links:
      - rel: reference
      href: http://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#boot-features-mongodb
      - name: Embedded MongoDB
      id: flapdoodle-mongo
      description: Embedded MongoDB for testing
      versionRange: 1.3.0.RELEASE
      groupId: de.flapdoodle.embed
      artifactId: de.flapdoodle.embed.mongo
      scope: test
      starter: false
      - name: Cassandra
      id: data-cassandra
      description: Cassandra NoSQL Database, including spring-data-cassandra
      versionRange: 1.3.0.RC1
      links:
      - rel: reference
      href: http://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#boot-features-cassandra
      - name: Reactive Cassandra
      id: data-cassandra-reactive
      description: Cassandra NoSQL Database, including spring-data-cassandra and the reactive driver
      versionRange: 2.0.0.M1
      links:
      - rel: reference
      href: http://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#boot-features-cassandra
      - name: Couchbase
      id: data-couchbase
      description: Couchbase NoSQL database, including spring-data-couchbase
      versionRange: 1.4.0.M1
      links:
      - rel: reference
      href: http://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#boot-features-couchbase
      - name: Neo4j
      id: data-neo4j
      description: Neo4j NoSQL graph database, including spring-data-neo4j
      versionRange: 1.4.0.M2
      links:
      - rel: guide
      href: https://spring.io/guides/gs/accessing-data-neo4j/
      description: Accessing Data with Neo4j
      - rel: reference
      href: http://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#boot-features-neo4j
      - name: Redis
      id: data-redis
      description: Redis key-value data store, including spring-data-redis and Jedis
      aliases:
      - redis
      mappings:
      - versionRange: 1.4.0.M1
      artifactId: spring-boot-starter-data-redis
      - versionRange: "[1.1.5.RELEASE,1.4.0.M1)"
      artifactId: spring-boot-starter-redis
      links:
      - rel: guide
      href: https://spring.io/guides/gs/messaging-redis/
      description: Messaging with Redis
      - rel: reference
      href: http://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#boot-features-redis
      - name: Reactive Redis
      id: data-redis-reactive
      description: Redis key-value data store, including spring-data-redis and Lettuce
      versionRange: 2.0.0.M1
      links:
      - rel: guide
      href: https://spring.io/guides/gs/messaging-redis/
      description: Messaging with Redis
      - rel: reference
      href: http://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#boot-features-redis
      - name: Gemfire
      id: data-gemfire
      description: GemFire distributed data store including spring-data-gemfire
      versionRange: "[1.1.0.RELEASE,2.0.0.M1)"
      links:
      - rel: guide
      href: https://spring.io/guides/gs/accessing-data-gemfire/
      description: Accessing Data with GemFire
      - rel: reference
      href: http://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#boot-features-gemfire
      - name: Solr
      id: data-solr
      description: Apache Solr search platform, including spring-data-solr
      links:
      - rel: reference
      href: http://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#boot-features-solr
      - name: Elasticsearch
      id: data-elasticsearch
      description: Elasticsearch search and analytics engine including spring-data-elasticsearch
      weight: 10
      links:
      - rel: reference
      href: http://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#boot-features-elasticsearch
      - name: Cloud Core
      bom: spring-cloud
      versionRange: 1.2.3.RELEASE
      content:
      - name: Cloud Connectors
      id: cloud-connectors
      description: Simplifies connecting to services in cloud platforms, including spring-cloud-connector and spring-cloud-cloudfoundry-connector
      versionRange: 1.2.0.RELEASE
      - name: Cloud Bootstrap
      id: cloud-starter
      description: spring-cloud-context (e.g. Bootstrap context and @RefreshScope)
      groupId: org.springframework.cloud
      artifactId: spring-cloud-starter
      weight: 100
      - name: Cloud Security
      id: cloud-security
      description: Secure load balancing and routing with spring-cloud-security
      groupId: org.springframework.cloud
      artifactId: spring-cloud-starter-security
      - name: Cloud OAuth2
      id: cloud-oauth2
      description: OAuth2 and distributed application patterns with spring-cloud-security
      groupId: org.springframework.cloud
      artifactId: spring-cloud-starter-oauth2
      - name: Cloud Task
      id: cloud-task
      description: Task result tracking along with integration with batch and streams
      groupId: org.springframework.cloud
      artifactId: spring-cloud-starter-task
      versionRange: "[1.3.0.RELEASE,2.0.0.M1)"
      bom: spring-cloud-task
      mappings:
      - versionRange: "[1.3.0.RELEASE,1.3.x.RELEASE]"
      artifactId: spring-cloud-task-starter
      - versionRange: "1.4.0.RELEASE"
      - name: Cloud Config
      bom: spring-cloud
      versionRange: 1.2.3.RELEASE
      content:
      - name: Config Client
      id: cloud-config-client
      description: spring-cloud-config Client
      groupId: org.springframework.cloud
      artifactId: spring-cloud-starter-config
      weight: 100
      - name: Config Server
      id: cloud-config-server
      description: Central management for configuration via a git or svn backend
      groupId: org.springframework.cloud
      artifactId: spring-cloud-config-server
      links:
      - rel: guide
      href: https://spring.io/guides/gs/centralized-configuration/
      description: Centralized Configuration
      - name: Vault Configuration
      id: cloud-starter-vault-config
      description: Configuration management with HashiCorp Vault
      versionRange: 1.5.3.RELEASE
      starter: false
      groupId: org.springframework.cloud
      artifactId: spring-cloud-starter-vault-config
      - name: Zookeeper Configuration
      id: cloud-starter-zookeeper-config
      description: Configuration management with Zookeeper and spring-cloud-zookeeper-config
      versionRange: 1.3.0.M4
      groupId: org.springframework.cloud
      artifactId: spring-cloud-starter-zookeeper-config
      - name: Consul Configuration
      id: cloud-starter-consul-config
      description: Configuration management with Hashicorp Consul
      versionRange: 1.3.0.M4
      groupId: org.springframework.cloud
      artifactId: spring-cloud-starter-consul-config
      - name: Cloud Discovery
      bom: spring-cloud
      versionRange: 1.2.3.RELEASE
      content:
      - name: Eureka Discovery
      id: cloud-eureka
      description: Service discovery using spring-cloud-netflix and Eureka
      groupId: org.springframework.cloud
      artifactId: spring-cloud-starter-eureka
      weight: 100
      - name: Eureka Server
      id: cloud-eureka-server
      description: spring-cloud-netflix Eureka Server
      groupId: org.springframework.cloud
      artifactId: spring-cloud-starter-eureka-server
      links:
      - rel: guide
      href: https://spring.io/guides/gs/service-registration-and-discovery/
      description: Service Registration and Discovery
      - name: Zookeeper Discovery
      id: cloud-starter-zookeeper-discovery
      description: Service discovery with Zookeeper and spring-cloud-zookeeper-discovery
      versionRange: 1.3.0.M4
      groupId: org.springframework.cloud
      artifactId: spring-cloud-starter-zookeeper-discovery
      - name: Cloud Foundry Discovery
      id: cloud-cloudfoundry-discovery
      description: Service discovery with Cloud Foundry
      versionRange: 1.3.0.M4
      groupId: org.springframework.cloud
      artifactId: spring-cloud-cloudfoundry-discovery
      - name: Consul Discovery
      id: cloud-starter-consul-discovery
      description: Service discovery with Hashicorp Consul
      versionRange: 1.3.0.M4
      groupId: org.springframework.cloud
      artifactId: spring-cloud-starter-consul-discovery
      - name: Cloud Routing
      bom: spring-cloud
      versionRange: 1.2.3.RELEASE
      content:
      - name: Zuul
      id: cloud-zuul
      description: Intelligent and programmable routing with spring-cloud-netflix Zuul
      groupId: org.springframework.cloud
      artifactId: spring-cloud-starter-zuul
      links:
      - rel: guide
      href: https://spring.io/guides/gs/routing-and-filtering/
      description: Routing and Filtering
      - name: Ribbon
      id: cloud-ribbon
      description: Client side load balancing with spring-cloud-netflix and Ribbon
      groupId: org.springframework.cloud
      artifactId: spring-cloud-starter-ribbon
      links:
      - rel: guide
      href: https://spring.io/guides/gs/client-side-load-balancing/
      description: Client Side Load Balancing with Ribbon and Spring Cloud
      - name: Feign
      id: cloud-feign
      description: Declarative REST clients with spring-cloud-netflix Feign
      groupId: org.springframework.cloud
      artifactId: spring-cloud-starter-feign
      - name: Cloud Circuit Breaker
      bom: spring-cloud
      versionRange: 1.2.3.RELEASE
      content:
      - name: Hystrix
      id: cloud-hystrix
      description: Circuit breaker with spring-cloud-netflix Hystrix
      groupId: org.springframework.cloud
      artifactId: spring-cloud-starter-hystrix
      links:
      - rel: guide
      href: https://spring.io/guides/gs/circuit-breaker/
      description: Circuit Breaker
      - name: Hystrix Dashboard
      id: cloud-hystrix-dashboard
      description: Circuit breaker dashboard with spring-cloud-netflix Hystrix
      groupId: org.springframework.cloud
      artifactId: spring-cloud-starter-hystrix-dashboard
      - name: Turbine
      id: cloud-turbine
      description: Circuit breaker metric aggregation using spring-cloud-netflix with Turbine and server-sent events
      groupId: org.springframework.cloud
      artifactId: spring-cloud-starter-turbine
      - name: Turbine Stream
      id: cloud-turbine-stream
      description: Circuit breaker metric aggregation using spring-cloud-netflix with Turbine and Spring Cloud Stream (choose a specific Stream binder implementation to complement this)
      versionRange: 1.3.0.M5
      groupId: org.springframework.cloud
      artifactId: spring-cloud-starter-turbine-stream
      weight: -1
      - name: Cloud Tracing
      bom: spring-cloud
      versionRange: 1.3.0.M4
      content:
      - name: Sleuth
      id: cloud-starter-sleuth
      description: Distributed tracing via logs with spring-cloud-sleuth
      groupId: org.springframework.cloud
      artifactId: spring-cloud-starter-sleuth
      - name: Zipkin Client
      id: cloud-starter-zipkin
      description: Distributed tracing with an existing Zipkin installation and spring-cloud-sleuth-zipkin. Alternatively, consider Sleuth Stream.
      groupId: org.springframework.cloud
      artifactId: spring-cloud-starter-zipkin
      - name: Sleuth Stream
      id: cloud-sleuth-stream
      description: Marshals Spring Cloud Sleuth Spans over a Spring Cloud Stream binder
      groupId: org.springframework.cloud
      artifactId: spring-cloud-sleuth-stream
      - name: Zipkin Stream
      id: cloud-sleuth-zipkin-stream
      description: Consumes span data in messages from Spring Cloud Sleuth Stream and writes them to a Zipkin store
      groupId: org.springframework.cloud
      artifactId: spring-cloud-sleuth-zipkin-stream
      - name: Zipkin UI
      id: zipkin-ui
      description: add the Zipkin UI module to the Zipkin server to get a Zipkin service that accepts Spans and provides visualization
      groupId: io.zipkin.java
      artifactId: zipkin-autoconfigure-ui
      scope: runtime
      versionRange: 1.3.3.RELEASE
      starter: false
      - name: Cloud Messaging
      bom: spring-cloud
      versionRange: 1.2.3.RELEASE
      content:
      - name: Cloud Bus AMQP
      id: cloud-bus-amqp
      description: A simple control bus with AMQP and spring-cloud-bus-amqp
      groupId: org.springframework.cloud
      artifactId: spring-cloud-starter-bus-amqp
      - name: Cloud Bus Kafka
      id: cloud-bus-kafka
      description: A simple control bus with Kafka and spring-cloud-bus
      versionRange: "1.3.0.RELEASE"
      groupId: org.springframework.cloud
      artifactId: spring-cloud-starter-bus-kafka
      - name: Stream Rabbit
      id: cloud-stream-binder-rabbit
      description: Messaging microservices with RabbitMQ
      versionRange: 1.3.0.M4
      groupId: org.springframework.cloud
      artifactId: spring-cloud-starter-stream-rabbit
      - name: Stream Kafka
      id: cloud-stream-binder-kafka
      description: Messaging microservices with Kafka
      versionRange: 1.3.0.M4
      groupId: org.springframework.cloud
      artifactId: spring-cloud-stream-binder-kafka
      - name: Cloud AWS
      bom: spring-cloud
      versionRange: 1.2.3.RELEASE
      content:
      - name: AWS Core
      id: cloud-aws
      description: AWS native services from spring-cloud-aws
      groupId: org.springframework.cloud
      artifactId: spring-cloud-starter-aws
      - name: AWS JDBC
      id: cloud-aws-jdbc
      description: Relational databases on AWS with RDS and spring-cloud-aws-jdbc
      groupId: org.springframework.cloud
      artifactId: spring-cloud-starter-aws-jdbc
      - name: AWS Messaging
      id: cloud-aws-messaging
      description: Messaging on AWS with SQS and spring-cloud-aws-messaging
      groupId: org.springframework.cloud
      artifactId: spring-cloud-starter-aws-messaging
      - name: Cloud Cluster
      bom: spring-cloud
      versionRange: "[1.3.0.M4,1.4.0.RC1)"
      content:
      - name: Cluster Redis
      id: cloud-cluster-redis
      description: Leadership election and global state with Redis and spring-cloud-cluster-redis
      groupId: org.springframework.cloud
      artifactId: spring-cloud-cluster-redis
      - name: Cluster Zookeeper
      id: cloud-cluster-zookeeper
      description: Leadership election and global state with Zookeeper and spring-cloud-cluster-zookeeper
      groupId: org.springframework.cloud
      artifactId: spring-cloud-cluster-zookeeper
      - name: Cluster Hazelcast
      id: cloud-cluster-hazelcast
      description: Leadership election and global state with Hazelcast and spring-cloud-cluster-hazelcast
      groupId: org.springframework.cloud
      artifactId: spring-cloud-cluster-hazelcast
      - name: Cluster Etcd
      id: cloud-cluster-etcd
      description: Leadership election and global state with Etcd and spring-cloud-cluster-etcd
      groupId: org.springframework.cloud
      artifactId: spring-cloud-cluster-etcd
      - name: Cloud Contract
      bom: spring-cloud
      versionRange: 1.4.0.RC1
      content:
      - name: Cloud Contract Verifier
      id: cloud-contract-verifier
      description: Test dependencies required for autogenerated tests
      groupId: org.springframework.cloud
      artifactId: spring-cloud-starter-contract-verifier
      scope: test
      starter: false
      - name: Cloud Contract Stub Runner
      id: cloud-contract-stub-runner
      description: Stub Runner for HTTP/Messaging based communication
      groupId: org.springframework.cloud
      artifactId: spring-cloud-starter-contract-stub-runner
      scope: test
      starter: false
      - name: Cloud Contract WireMock
      id: cloud-contract-wiremock
      description: Test dependencies required for the WireMock HTTP server
      groupId: org.springframework.cloud
      artifactId: spring-cloud-contract-wiremock
      scope: test
      starter: false
      - name: Pivotal Cloud Foundry
      bom: spring-cloud-services
      versionRange: "[1.3.0.RELEASE,2.0.0.M1)"
      content:
      - name: Config Client (PCF)
      id: scs-config-client
      description: Config client on Pivotal Cloud Foundry
      groupId: io.pivotal.spring.cloud
      artifactId: spring-cloud-services-starter-config-client
      - name: Service Registry (PCF)
      id: scs-service-registry
      description: Eureka service discovery on Pivotal Cloud Foundry
      groupId: io.pivotal.spring.cloud
      artifactId: spring-cloud-services-starter-service-registry
      - name: Circuit Breaker (PCF)
      id: scs-circuit-breaker
      description: Hystrix circuit breaker on Pivotal Cloud Foundry
      groupId: io.pivotal.spring.cloud
      artifactId: spring-cloud-services-starter-circuit-breaker
      - name: Social
      content:
      - name: Facebook
      id: social-facebook
      description: spring-social-facebook
      weight: 25
      links:
      - rel: guide
      href: https://spring.io/guides/gs/register-facebook-app/
      description: Registering an Application with Facebook
      - rel: guide
      href: https://spring.io/guides/gs/accessing-facebook/
      description: Accessing Facebook Data
      - name: LinkedIn
      id: social-linkedin
      description: spring-social-linkedin
      - name: Twitter
      id: social-twitter
      description: spring-social-twitter
      links:
      - rel: guide
      href: https://spring.io/guides/gs/register-twitter-app/
      description: Registering an Application with Twitter
      - rel: guide
      href: https://spring.io/guides/gs/accessing-twitter/
      description: Accessing Twitter Data
      - name: I/O
      content:
      - name: Batch
      id: batch
      description: Spring Batch including HSQLDB database
      links:
      - rel: guide
      href: https://spring.io/guides/gs/batch-processing/
      description: Creating a Batch Service
      - rel: reference
      href: http://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#howto-batch-applications
      - name: Integration
      id: integration
      description: Common spring-integration modules
      links:
      - rel: guide
      href: https://spring.io/guides/gs/integration/
      description: Integrating Data
      - rel: reference
      href: http://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#boot-features-integration
      - name: Quartz Scheduler
      id: quartz
      versionRange: 2.0.0.M2
      description: Schedule jobs using Quartz
      - name: Activiti
      id: activiti-basic
      versionRange: "[1.2.0.RELEASE,2.0.0.M1)"
      description: Activiti BPMN workflow engine
      groupId: org.activiti
      artifactId: activiti-spring-boot-starter-basic
      version: 5.21.0
      - name: Apache Camel
      id: camel
      versionRange: "[1.4.0.RELEASE,2.0.0.M1)"
      description: Integration using Apache Camel
      groupId: org.apache.camel
      artifactId: camel-spring-boot-starter
      version: 2.19.1
      - name: JMS (ActiveMQ)
      id: activemq
      description: Java Message Service API via Apache ActiveMQ
      versionRange: 1.4.0.RC1
      links:
      - rel: guide
      href: https://spring.io/guides/gs/messaging-jms/
      description: Messaging with JMS
      - rel: reference
      href: http://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#boot-features-activemq
      - name: JMS (Artemis)
      id: artemis
      description: Java Message Service API via Apache Artemis
      versionRange: 1.3.0.M2
      links:
      - rel: guide
      href: https://spring.io/guides/gs/messaging-jms/
      description: Messaging with JMS
      - rel: reference
      href: http://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#boot-features-artemis
      - name: JMS (HornetQ)
      id: hornetq
      description: Java Message Service API via HornetQ
      versionRange: "[1.1.0.RELEASE,1.4.0.RC1)"
      links:
      - rel: guide
      href: https://spring.io/guides/gs/messaging-jms/
      description: Messaging with JMS
      - rel: reference
      href: http://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#boot-features-hornetq
      - name: AMQP
      id: amqp
      description: Advanced Message Queuing Protocol via spring-rabbit
      links:
      - rel: guide
      href: https://spring.io/guides/gs/messaging-rabbitmq/
      description: Messaging with RabbitMQ
      - rel: reference
      href: http://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#boot-features-amqp
      - name: Kafka
      id: kafka
      weight: 100
      description: Kafka messaging support using Spring Kafka
      versionRange: 1.5.0.RC1
      groupId: org.springframework.kafka
      artifactId: spring-kafka
      starter: false
      links:
      - rel: reference
      href: http://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#boot-features-kafka
      - name: Mail
      id: mail
      description: javax.mail
      versionRange: 1.2.0.RC1
      links:
      - rel: reference
      href: http://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#boot-features-email
      - name: LDAP
      id: data-ldap
      description: LDAP support, including spring-data-ldap
      versionRange: 1.5.0.RC1
      links:
      - rel: reference
      href: http://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#boot-features-ldap
      - name: Ops
      content:
      - name: Actuator
      id: actuator
      description: Production ready features to help you monitor and manage your application
      links:
      - rel: guide
      href: https://spring.io/guides/gs/actuator-service/
      description: Building a RESTful Web Service with Spring Boot Actuator
      - rel: reference
      href: http://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#production-ready
      - name: Actuator Docs
      id: actuator-docs
      description: API documentation for the Actuator endpoints
      versionRange: 1.3.0.M4
      groupId: org.springframework.boot
      artifactId: spring-boot-actuator-docs
      - name: Remote Shell
      id: remote-shell
      description: CRaSH shell integration
      versionRange: "[1.0.0.RELEASE,1.5.0.RC1)"
  6. 运行项目

    运行项目,看到如下日记就启动成功

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    /library/jdk1.8.0_144/bin/java -javaagent:/home/wangyong/.local/share/JetBrains/Toolbox/apps/IDEA-U/ch-0/173.4548.28/lib/idea_rt.jar=41189:/home/wangyong/.local/share/JetBrains/Toolbox/apps/IDEA-U/ch-0/173.4548.28/bin -Dfile.encoding=UTF-8 -classpath /library/jdk1.8.0_144/jre/lib/charsets.jar:/library/jdk1.8.0_144/jre/lib/deploy.jar:/library/jdk1.8.0_144/jre/lib/ext/cldrdata.jar:/library/jdk1.8.0_144/jre/lib/ext/dnsns.jar:/library/jdk1.8.0_144/jre/lib/ext/jaccess.jar:/library/jdk1.8.0_144/jre/lib/ext/jfxrt.jar:/library/jdk1.8.0_144/jre/lib/ext/localedata.jar:/library/jdk1.8.0_144/jre/lib/ext/nashorn.jar:/library/jdk1.8.0_144/jre/lib/ext/sunec.jar:/library/jdk1.8.0_144/jre/lib/ext/sunjce_provider.jar:/library/jdk1.8.0_144/jre/lib/ext/sunpkcs11.jar:/library/jdk1.8.0_144/jre/lib/ext/zipfs.jar:/library/jdk1.8.0_144/jre/lib/javaws.jar:/library/jdk1.8.0_144/jre/lib/jce.jar:/library/jdk1.8.0_144/jre/lib/jfr.jar:/library/jdk1.8.0_144/jre/lib/jfxswt.jar:/library/jdk1.8.0_144/jre/lib/jsse.jar:/library/jdk1.8.0_144/jre/lib/management-agent.jar:/library/jdk1.8.0_144/jre/lib/plugin.jar:/library/jdk1.8.0_144/jre/lib/resources.jar:/library/jdk1.8.0_144/jre/lib/rt.jar:/code/initializr/spring-initializr/target/classes:/home/wangyong/.m2/repository/io/spring/initializr/initializr-web/0.4.0.RELEASE/initializr-web-0.4.0.RELEASE.jar:/home/wangyong/.m2/repository/io/spring/initializr/initializr-generator/0.4.0.RELEASE/initializr-generator-0.4.0.RELEASE.jar:/home/wangyong/.m2/repository/org/springframework/boot/spring-boot/1.5.10.RELEASE/spring-boot-1.5.10.RELEASE.jar:/home/wangyong/.m2/repository/org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25.jar:/home/wangyong/.m2/repository/com/samskivert/jmustache/1.13/jmustache-1.13.jar:/home/wangyong/.m2/repository/org/springframework/boot/spring-boot-starter-mustache/1.5.10.RELEASE/spring-boot-starter-mustache-1.5.10.RELEASE.jar:/home/wangyong/.m2/repository/org/springframework/boot/spring-boot-starter-cache/1.5.10.RELEASE/spring-boot-starter-cache-1.5.10.RELEASE.jar:/home/wangyong/.m2/repository/org/springframework/spring-context/4.3.14.RELEASE/spring-context-4.3.14.RELEASE.jar:/home/wangyong/.m2/repository/org/springframework/spring-context-support/4.3.14.RELEASE/spring-context-support-4.3.14.RELEASE.jar:/home/wangyong/.m2/repository/org/springframework/spring-webmvc/4.3.14.RELEASE/spring-webmvc-4.3.14.RELEASE.jar:/home/wangyong/.m2/repository/org/springframework/spring-aop/4.3.14.RELEASE/spring-aop-4.3.14.RELEASE.jar:/home/wangyong/.m2/repository/org/springframework/spring-beans/4.3.14.RELEASE/spring-beans-4.3.14.RELEASE.jar:/home/wangyong/.m2/repository/org/springframework/spring-expression/4.3.14.RELEASE/spring-expression-4.3.14.RELEASE.jar:/home/wangyong/.m2/repository/org/springframework/hateoas/spring-hateoas/0.23.0.RELEASE/spring-hateoas-0.23.0.RELEASE.jar:/home/wangyong/.m2/repository/org/apache/ant/ant/1.10.1/ant-1.10.1.jar:/home/wangyong/.m2/repository/org/json/json/20140107/json-20140107.jar:/home/wangyong/.m2/repository/org/springframework/boot/spring-boot-starter-web/1.5.10.RELEASE/spring-boot-starter-web-1.5.10.RELEASE.jar:/home/wangyong/.m2/repository/org/springframework/boot/spring-boot-starter/1.5.10.RELEASE/spring-boot-starter-1.5.10.RELEASE.jar:/home/wangyong/.m2/repository/org/springframework/boot/spring-boot-autoconfigure/1.5.10.RELEASE/spring-boot-autoconfigure-1.5.10.RELEASE.jar:/home/wangyong/.m2/repository/org/springframework/boot/spring-boot-starter-logging/1.5.10.RELEASE/spring-boot-starter-logging-1.5.10.RELEASE.jar:/home/wangyong/.m2/repository/ch/qos/logback/logback-classic/1.1.11/logback-classic-1.1.11.jar:/home/wangyong/.m2/repository/ch/qos/logback/logback-core/1.1.11/logback-core-1.1.11.jar:/home/wangyong/.m2/repository/org/slf4j/jcl-over-slf4j/1.7.25/jcl-over-slf4j-1.7.25.jar:/home/wangyong/.m2/repository/org/slf4j/jul-to-slf4j/1.7.25/jul-to-slf4j-1.7.25.jar:/home/wangyong/.m2/repository/org/slf4j/log4j-over-slf4j/1.7.25/log4j-over-slf4j-1.7.25.jar:/home/wangyong/.m2/repository/org/yaml/snakeyaml/1.17/snakeyaml-1.17.jar:/home/wangyong/.m2/repository/org/springframework/boot/spring-boot-starter-tomcat/1.5.10.RELEASE/spring-boot-starter-tomcat-1.5.10.RELEASE.jar:/home/wangyong/.m2/repository/org/apache/tomcat/embed/tomcat-embed-core/8.5.27/tomcat-embed-core-8.5.27.jar:/home/wangyong/.m2/repository/org/apache/tomcat/tomcat-annotations-api/8.5.27/tomcat-annotations-api-8.5.27.jar:/home/wangyong/.m2/repository/org/apache/tomcat/embed/tomcat-embed-el/8.5.27/tomcat-embed-el-8.5.27.jar:/home/wangyong/.m2/repository/org/apache/tomcat/embed/tomcat-embed-websocket/8.5.27/tomcat-embed-websocket-8.5.27.jar:/home/wangyong/.m2/repository/org/hibernate/hibernate-validator/5.3.6.Final/hibernate-validator-5.3.6.Final.jar:/home/wangyong/.m2/repository/javax/validation/validation-api/1.1.0.Final/validation-api-1.1.0.Final.jar:/home/wangyong/.m2/repository/org/jboss/logging/jboss-logging/3.3.1.Final/jboss-logging-3.3.1.Final.jar:/home/wangyong/.m2/repository/com/fasterxml/classmate/1.3.4/classmate-1.3.4.jar:/home/wangyong/.m2/repository/com/fasterxml/jackson/core/jackson-databind/2.8.10/jackson-databind-2.8.10.jar:/home/wangyong/.m2/repository/com/fasterxml/jackson/core/jackson-annotations/2.8.0/jackson-annotations-2.8.0.jar:/home/wangyong/.m2/repository/com/fasterxml/jackson/core/jackson-core/2.8.10/jackson-core-2.8.10.jar:/home/wangyong/.m2/repository/org/springframework/spring-web/4.3.14.RELEASE/spring-web-4.3.14.RELEASE.jar:/home/wangyong/.m2/repository/org/springframework/spring-core/4.3.14.RELEASE/spring-core-4.3.14.RELEASE.jar com.initializr.InitializrApplication

    . ____ _ __ _ _
    /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
    ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
    \\/ ___)| |_)| | | | | || (_| | ) ) ) )
    ' |____| .__|_| |_|_| |_\__, | / / / /
    =========|_|==============|___/=/_/_/_/
    :: Spring Boot :: (v1.5.10.RELEASE)

    2018-03-25 21:08:34.843 INFO 3947 --- [ main] com.initializr.InitializrApplication : Starting InitializrApplication on wangyong-thinkpad-t460 with PID 3947 (/code/initializr/spring-initializr/target/classes started by wangyong in /code/initializr/spring-initializr)
    2018-03-25 21:08:34.886 INFO 3947 --- [ main] com.initializr.InitializrApplication : No active profile set, falling back to default profiles: default
    2018-03-25 21:08:35.179 INFO 3947 --- [ main] ationConfigEmbeddedWebApplicationContext : Refreshing org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@1e287667: startup date [Sun Mar 25 21:08:35 CST 2018]; root of context hierarchy
    2018-03-25 21:08:37.616 INFO 3947 --- [ main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat initialized with port(s): 8080 (http)
    2018-03-25 21:08:37.647 INFO 3947 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat]
    2018-03-25 21:08:37.648 INFO 3947 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet Engine: Apache Tomcat/8.5.27
    2018-03-25 21:08:37.868 INFO 3947 --- [ost-startStop-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
    2018-03-25 21:08:37.869 INFO 3947 --- [ost-startStop-1] o.s.web.context.ContextLoader : Root WebApplicationContext: initialization completed in 2694 ms
    2018-03-25 21:08:38.136 INFO 3947 --- [ost-startStop-1] o.s.b.w.servlet.ServletRegistrationBean : Mapping servlet: 'dispatcherServlet' to [/]
    2018-03-25 21:08:38.148 INFO 3947 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean : Mapping filter: 'characterEncodingFilter' to: [/*]
    2018-03-25 21:08:38.151 INFO 3947 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean : Mapping filter: 'hiddenHttpMethodFilter' to: [/*]
    2018-03-25 21:08:38.151 INFO 3947 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean : Mapping filter: 'httpPutFormContentFilter' to: [/*]
    2018-03-25 21:08:38.151 INFO 3947 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean : Mapping filter: 'requestContextFilter' to: [/*]
    2018-03-25 21:08:38.856 INFO 3947 --- [ main] s.w.s.m.m.a.RequestMappingHandlerAdapter : Looking for @ControllerAdvice: org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@1e287667: startup date [Sun Mar 25 21:08:35 CST 2018]; root of context hierarchy
    2018-03-25 21:08:38.978 INFO 3947 --- [ main] 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)
    2018-03-25 21:08:38.979 INFO 3947 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error]}" onto public org.springframework.http.ResponseEntity<java.util.Map<java.lang.String, java.lang.Object>> org.springframework.boot.autoconfigure.web.BasicErrorController.error(javax.servlet.http.HttpServletRequest)
    2018-03-25 21:08:39.001 INFO 3947 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/metadata/config],produces=[application/json]}" onto public io.spring.initializr.metadata.InitializrMetadata io.spring.initializr.web.project.MainController.config()
    2018-03-25 21:08:39.001 INFO 3947 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/metadata/client]}" onto public java.lang.String io.spring.initializr.web.project.MainController.client()
    2018-03-25 21:08:39.001 INFO 3947 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/spring]}" onto public java.lang.String io.spring.initializr.web.project.MainController.spring()
    2018-03-25 21:08:39.002 INFO 3947 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/],produces=[text/html]}" onto public java.lang.String io.spring.initializr.web.project.MainController.home(java.util.Map<java.lang.String, java.lang.Object>)
    2018-03-25 21:08:39.002 INFO 3947 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/dependencies],produces=[application/vnd.initializr.v2.1+json || application/json]}" onto public org.springframework.http.ResponseEntity<java.lang.String> io.spring.initializr.web.project.MainController.dependenciesV21(java.lang.String)
    2018-03-25 21:08:39.003 INFO 3947 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/spring.tar.gz || /spring.tgz]}" onto public java.lang.String io.spring.initializr.web.project.MainController.springTgz()
    2018-03-25 21:08:39.003 INFO 3947 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/starter.tgz],produces=[application/x-compress]}" onto public org.springframework.http.ResponseEntity<byte[]> io.spring.initializr.web.project.MainController.springTgz(io.spring.initializr.generator.BasicProjectRequest) throws java.io.IOException
    2018-03-25 21:08:39.003 INFO 3947 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/pom]}" onto public org.springframework.http.ResponseEntity<byte[]> io.spring.initializr.web.project.MainController.pom(io.spring.initializr.generator.BasicProjectRequest)
    2018-03-25 21:08:39.004 INFO 3947 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/build]}" onto public org.springframework.http.ResponseEntity<byte[]> io.spring.initializr.web.project.MainController.gradle(io.spring.initializr.generator.BasicProjectRequest)
    2018-03-25 21:08:39.004 INFO 3947 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/starter.zip]}" onto public org.springframework.http.ResponseEntity<byte[]> io.spring.initializr.web.project.MainController.springZip(io.spring.initializr.generator.BasicProjectRequest) throws java.io.IOException
    2018-03-25 21:08:39.005 INFO 3947 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/],produces=[text/plain]}" onto public org.springframework.http.ResponseEntity<java.lang.String> io.spring.initializr.web.project.MainController.serviceCapabilitiesText(java.lang.String)
    2018-03-25 21:08:39.005 INFO 3947 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/],produces=[application/hal+json]}" onto public org.springframework.http.ResponseEntity<java.lang.String> io.spring.initializr.web.project.MainController.serviceCapabilitiesHal()
    2018-03-25 21:08:39.005 INFO 3947 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/],produces=[application/vnd.initializr.v2.1+json || application/json]}" onto public org.springframework.http.ResponseEntity<java.lang.String> io.spring.initializr.web.project.MainController.serviceCapabilitiesV21()
    2018-03-25 21:08:39.006 INFO 3947 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/],produces=[application/vnd.initializr.v2+json]}" onto public org.springframework.http.ResponseEntity<java.lang.String> io.spring.initializr.web.project.MainController.serviceCapabilitiesV2()
    2018-03-25 21:08:39.009 INFO 3947 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/ui/dependencies],produces=[application/json]}" onto public org.springframework.http.ResponseEntity<java.lang.String> io.spring.initializr.web.ui.UiController.dependencies(java.lang.String)
    2018-03-25 21:08:39.050 INFO 3947 --- [ main] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped URL path [/webjars/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
    2018-03-25 21:08:39.050 INFO 3947 --- [ main] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped URL path [/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
    2018-03-25 21:08:39.095 INFO 3947 --- [ main] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped URL path [/**/favicon.ico] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
    2018-03-25 21:08:41.557 INFO 3947 --- [ main] o.s.j.e.a.AnnotationMBeanExporter : Registering beans for JMX exposure on startup
    2018-03-25 21:08:41.623 INFO 3947 --- [ main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8080 (http)
    2018-03-25 21:08:41.627 INFO 3947 --- [ main] com.initializr.InitializrApplication : Started InitializrApplication in 9.222 seconds (JVM running for 10.345)

项目启动页面

spring-initializr项目页面

idea 编辑器中使用

spring-initializr项目页面

github

项目已经上传到github上面,地址如下:

https://github.com/hadesvip/spring-initializr

最新的已经更换成springboot2.0

彩蛋

stackoverflow

https://stackoverflow.com/

gitter

https://gitter.im/

vpn

http://poro.link