使用Spring Boot CLI初始化项目时,如何指定“参数”(例如language = groovy)?

时间:2015-04-08 12:47:53

标签: java spring groovy spring-boot

Groovy和Spring Boot CLI

我有兴趣在Spring Boot中使用强大的Groovy支持来快速构建动态类型检查有用的东西(例如,啜饮任意JSON数据)。

我已经安装了GVMSpring Boot CLI,并希望使用后者的spring init命令来创建Groovy是主要语言的框架项目。差别只是一个额外的依赖,并且一些构建插件被添加到Maven或Gradle构建文件中......但是,不管怎样都不需要查看所有这些并从某处剪切粘贴它。

支持CLI的Web服务中的可用选项

当使用支持Spring Boot CLI的基于Web的http://start.spring.io服务时,您可以通过在“语言”下拉菜单中选择“Groovy”而不是“Java”来设置骨架Groovy项目。您可以看到CLI也了解此选项。如果您运行spring init --list列出所有可能的选项,那么您将在“参数”部分中看到“语言”选项(默认值为“java”)。

spring init --list命令实际上显示了三个选项表:

  1. 依赖关系 - 例如web,security,data-jpa等。
  2. 项目类型 - 例如maven,gradle
  3. 参数 - 例如groupId,artifactId等......以及 语言
  4. CLI是否公开了所有可用选项?

    如果您运行spring help init,则可以看到使用-d--dependencies标志指定了依赖关系。项目类型使用-t--type标志指定。

    但是,似乎没有用于设置“参数”表中找到的任何选项的标志。有一些随机标志用于设置一些可能的参数,其中大多数甚至拼写不相同(例如--boot-version参数为bootVersion,{{1}为--java-version参数)。但是,我没有看到任何支持的标志用于设置“语言”...或者就此而言,甚至是最常见的自定义标志,例如“groupId”,“artifactId”等。

    我认为也许“参数”可能意味着......完全不使用旗帜的裸参数。但是,CLI似乎唯一的裸参数是创建骨架项目的位置。

    这是疏忽吗?我知道Spring Boot仍在成熟,CLI似乎并不是它最广泛采用的功能。所以也许它只是通过暴露的一组固定参数快速组合在一起,而不是像“依赖”和“类型”那样考虑可扩展的“参数”标志。或者我错过了什么,并且可以通过CLI在“参数”表中设置其他选项?

2 个答案:

答案 0 :(得分:1)

简短的回答是:不。 CLI命令不公开Spring Initializr的所有属性(它从未这样做)。我不确定这是否是一种疏忽,或者我们是否在等待有人抱怨它。

无论哪种方式,添加对其他属性的支持都没有错,我已经为您创建了#2793

对于拼写,这是为了与其他命令的CLI参数样式保持一致。

答案 1 :(得分:0)

这可以使用--language groovy完成,即     春天--build gradle-语言groovy appName