【发布时间】:2019-09-03 16:38:47
【问题描述】:
默认情况下,SpringApplication 会将任何命令行选项参数(即以 -- 开头的参数,例如 --server.port=9000)转换为属性并将它们添加到 Spring 环境中。
当我尝试将其传递给 gradle 时
gradle clean build --rerun-tasks --server.port=9000
它失败了:
Unknown command-line option '--server.port'.
如何让 gradle 接受普通的命令行选项参数?请注意,我正在运行测试,而不是 Spring 应用程序本身。
【问题讨论】:
-
不:
Problem configuring task :build from command line. > Unknown command-line option '--args'。如果我只是尝试gradle --rerun-tasks --args='--servicenow.password=123'我会得到同样的错误。 -
build任务构建您的应用程序。它不运行它。运行它的任务是bootRun。 -
我正在运行测试,而不是应用程序本身。我可以用
gradle --rerun-tasks --args='--server.port=9000'做到这一点,但这也失败了。 -
那么你不能传递参数。例如在代码中使用 TestProperties 注解,或者在测试任务中设置系统属性。