我使用带有Gradle的Spring Boot,我在Intelij中执行它:
10:43:37: Executing external task 'bootRun -Drun.arguments="--
server.port=6666"'...
但我仍然在日志中看到:
使用端口初始化Tomcat:8080(http)
我见过这个,但它对我不起作用:https://stackoverflow.com/a/37053004/3871754
答案 0 :(得分:5)
将命令行参数与Spring Gradle BootRun任务一起使用并不是很明显。以下是关于Spring Boot Issue Thread中主题的非常有趣的讨论。
今天如何做到这一点是将所有系统属性传递给线程中提到的bootRun任务,如下所示。
bootRun {
systemProperties = System.properties
}
然后你可以简单地使用:
bootRun -Dserver.port=6666
s.b.c.e.t.TomcatEmbeddedServletContainer:Tomcat初始化为 港口:6666(http)
答案 1 :(得分:2)
以下语法对我有效,无需更改代码:
bootRun --args='--server.port=6666'
注意:单引号很重要
答案 2 :(得分:0)
Spring Boot Gradle插件仍然不提供开箱即用的此功能。但即使您不想在Gradle脚本中添加额外配置,也可以按照these rules中的命名约定使用环境变量解决此问题(也适用于自定义属性)。
例如,您可以使用以下命令更改端口:
SERVER_PORT=6666 ./gradlew bootRun