搭建自己的Spring Initializr服务器

原文地址:https://sanwen8.cn/p/180YgNf.html


要开始一个基于Spring或SpringBoot的新项目,可以使用在线工具:https://start.spring.io/

使用它,可以很容易地创建基于Maven或Gradle的项目模板,并通过界面上的多选框定义项目所有所需的依赖。这个在线工具实际上是一个SpringBoot应用程序,可以在本地自己搭建一个这样的工具。这么做有很多优点:可以避免因为无法访问spring.io站点就无法新建SpringBoot项目的尴尬;可以限制依赖的数量;可以强制使用Gradle作为项目构建工具;可以设置默认的项目名、默认的包名等等。


要开始这么做的话,首先访问Spring Initializr项目的GitHub网站: https://github.com/spring-io/initializr

此项目的源码采用了Maven依赖,故本地需要有Maven环境。要运行这个项目,最简单的方法是使用Spring CLI工具,最方便的是使用SDKMAN工具,安装它: http://sdkman.io/index.html


然后执行:


    $ sdk install springboot

    

接着创建一个新目录,进入目录,创建initializr.groovy文件:


    package app

    @Grab('io.spring.initalizr:initializr-web:1.0.0.BUILD-SNAPSHOT')

    @Grab('spring-boot-starter-web')

    class InitializerService {}


接下来,需要为Spring Initializr应用定义配置文件。可以复制application.yml文件来用,此文件在刚才的GitHub网站的initializr-service项目中,文件改名为initializr.groovy。该文件包含了大量的信息。配置文件的详细解释可以参考:

https://github.com/spring-io/initializr/wiki/Configuration-format


其实配置项是很直接的,意思一目了然。比如可以打开这个文件,从dependencies移除依赖,或设置groupId的默认值。如果想明确项目的构建工具只使用Gradle,那么可以在types节移除Maven的引用。当然,还需在languages节设置默认的语言为Groovy。


    ...

    artifactId:

        value: sample

    groupId:

        value: com.mrhaki

    version:

        value: 1.0.0.DEVELOPMENT

    name:

        value: Sample

    description:

        value: Sample Project

    packageName:

        value: com.mrhaki.demo

    ...

    types:

        - name: Gradle Project

        id: gradle-project

        description: Generate a Gradle based project archive

        sts-id: gradle.zip

        tags:

            build: gradle

            format: project

        default: false

        action: /starter.zip

        - name: Gradle Config

        id: gradle-build

        description: Generate a Gradle build file

        sts-id: build.gradle

        tags:

            build: gradle

            format: build

        default: true

        action: /build.gradle

    ...

    javaVersions:

        - id: 1.8

        default: true

    languages:

        - name: Java

        id: java

        default: false

        - name: Groovy

        id: groovy

        default: true

    ...


现在可以启动Spring Initializr服务器了:

    

    $ spring run initializr.groovy

    ...


还可以覆盖此应用的静态资源和模板。比如添加一个新的spring.css文件到static/css目录,并放一个home.html文件到templates目录。


下面的截图显示了一些自定义的样式:


还可以使用此服务从IntelliJ IDEA创建项目,当创建新项目并从列表框选择Spring Initializr时,可以添加Spring Initializr的服务器地址:


然后就而已看到项目的默认值:


最后可以选择依赖项:


一切都很方便,不是吗?


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值