如何解决如何将程序参数传递给Spring Boot命令行应用程序?
我正在尝试对springboot和maven进行同样的操作,但是没有选择这样做
如何将参数传递给主类?
public static void main(String[] args) {
// disabled banner,don't want to see the spring logo
SpringApplication app = new SpringApplication(EnvioTelesapApplication.class);
app.setBannerMode(Banner.Mode.OFF);
app.run(args);
}
编辑:
使用-Dspring-boot.run.arguments =“ T111111,SS”将所有参数作为一个参数
解决方法
使用spring boot时,您可能应该利用application.properties
文件的优势,并根据需要覆盖它们(包括通过命令行)。
尽管如此,当您将Spring应用程序作为Maven构建而不是Java应用程序运行时,仍然看不到“ arguments”选项卡。在这种情况下,您需要将参数作为Maven目标本身的一部分传递:
- Spring Boot 1.x:
spring-boot:run -Drun.arguments=--spring.main.banner-mode=off,--customArgument=custom
- Spring Boot 2.x:
spring-boot:run -Dspring-boot.run.arguments=--spring.main.banner-mode=off,--customArgument=custom
修改:
一旦定义了属性(在application-properties
文件,命令行参数,环境变量等中),就可以通过@Value("${foo}")
进行检索,其中foo
是属性名称
此外,如果您有兴趣将命令行参数传递给通过jar文件运行的Spring Boot应用程序,则语法为:java -jar myjar.jar --argOne=value --argTwo=value
Spring Boot documentation
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。