阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

搭建自己的Spring Initializr服务器

132次阅读
没有评论

共计 1911 个字符,预计需要花费 5 分钟才能阅读完成。

要开始一个基于 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 目录。

下面的截图显示了一些自定义的样式:
搭建自己的 Spring Initializr 服务器

还可以使用此服务从 IntelliJ IDEA 创建项目,当创建新项目并从列表框选择 Spring Initializr 时,可以添加 Spring Initializr 的服务器地址:
搭建自己的 Spring Initializr 服务器
然后就而已看到项目的默认值:
 搭建自己的 Spring Initializr 服务器
最后可以选择依赖项:
搭建自己的 Spring Initializr 服务器
一切都很方便,不是吗?

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2016-10/136405.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计1911字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中