Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用gradle将命令行选项传递到Spring应用程序中_Spring_Gradle - Fatal编程技术网

如何使用gradle将命令行选项传递到Spring应用程序中

如何使用gradle将命令行选项传递到Spring应用程序中,spring,gradle,Spring,Gradle,说 默认情况下,SpringApplication将任何命令行选项参数(即以--开头的参数,例如--server.port=9000)转换为属性,并将其添加到Spring环境中 当我试着把这个传给gradle的时候 gradle clean build--重新运行任务--server.port=9000 它失败于: 未知命令行选项'--server.port'。 如何让gradle接受正常的命令行选项参数?请注意,我正在运行测试,而不是Spring应用程序本身。另一种可能的解决方案是将构建gra

默认情况下,SpringApplication将任何命令行选项参数(即以--开头的参数,例如--server.port=9000)转换为属性,并将其添加到Spring环境中

当我试着把这个传给gradle的时候

gradle clean build--重新运行任务--server.port=9000

它失败于:

未知命令行选项'--server.port'。


如何让gradle接受正常的命令行选项参数?请注意,我正在运行测试,而不是Spring应用程序本身。

另一种可能的解决方案是将构建gradle调用ti包装到sh脚本中。您可以将任何CMD变量放入构建脚本中

例如:

myBuildScript.sh:

gradle clean buildTaskName $1
在build.gradle中使用变量,如我的变量名

执行脚本:

MY_VARIABLE_NAME=value ./myBuildScript.sh

否:
配置任务时出现问题:从命令行生成。>未知的命令行选项“--args”
。如果我只是尝试
gradle--reruntasks--args='--servicenow.password=123'
我会得到同样的错误。
build
任务会构建您的应用程序。它没有运行它。运行它的任务是
bootRun
。我运行的是测试,而不是应用程序本身。我可以用
gradle--reruntasks--args='--server.port=9000'
来实现这一点,但这也失败了。然后,您就不能传递参数了。例如,在代码中使用TestProperties注释,或在测试任务中设置系统属性。