Java 播放覆盖 application.conf 中的端口
Java Play overwrites port in application.conf
我想指定 Java Play 在 application.conf
文件中公开其端点的端口 – application.conf
的完整片段,格式取自 Java Play documentation
play.server.http.port = 5511
但是,如果我运行命令
sbt run
暴露的端口是 9000,不是 5511。
我能够通过 运行ning
实现正确的行为
sbt run -Dhttp.port=5511
所以application.conf
一定有问题。
如果我尝试以编程方式读取值,比如从控制器读取值,它也会得到错误值 9000。但是,如果我向 application.conf
添加一些人工值,比如 foo = "ABC"
,它会正确读取该值.
Java播放版本:2.8.15
SBT版本:1.6.2
插件:仅 java 播放
我没有直接的解释,但是如果你把 application.conf
文件放在 http.port
变量而不是直接 play.server.http.port
.
在 Production Configuration page 上的文件中可以找到线索,由
提供
The configurations above are specific to the Akka HTTP and Netty server backend
根据剧本 documentation :
In run mode the HTTP server part of Play starts before the application
has been compiled. This means that the HTTP server cannot access the
application.conf file when it starts. If you want to override HTTP
server settings while using the run command you cannot use the
application.conf file
我建议你按照你之前所说的那样做 sbt run -Dhttp.port=5511
。如果您担心每次使用 运行 任务传递参数,那么您可以仅在 build.sbt
文件中更改根项目设置一次。不要忘记 sbt reload
以便您的 build.sbt
更改生效。
lazy val root = (project in file(".")).enablePlugins(PlayJava)
.settings(PlayKeys.playDefaultPort := 5511)
另一种选择:您可以在 build.sbt 文件中添加以下行
PlayKeys.devSettings += "play.server.http.port" -> "8080"
我想指定 Java Play 在 application.conf
文件中公开其端点的端口 – application.conf
的完整片段,格式取自 Java Play documentation
play.server.http.port = 5511
但是,如果我运行命令
sbt run
暴露的端口是 9000,不是 5511。
我能够通过 运行ning
实现正确的行为sbt run -Dhttp.port=5511
所以application.conf
一定有问题。
如果我尝试以编程方式读取值,比如从控制器读取值,它也会得到错误值 9000。但是,如果我向 application.conf
添加一些人工值,比如 foo = "ABC"
,它会正确读取该值.
Java播放版本:2.8.15
SBT版本:1.6.2
插件:仅 java 播放
我没有直接的解释,但是如果你把 application.conf
文件放在 http.port
变量而不是直接 play.server.http.port
.
在 Production Configuration page 上的文件中可以找到线索,由
提供The configurations above are specific to the Akka HTTP and Netty server backend
根据剧本 documentation :
In run mode the HTTP server part of Play starts before the application has been compiled. This means that the HTTP server cannot access the application.conf file when it starts. If you want to override HTTP server settings while using the run command you cannot use the application.conf file
我建议你按照你之前所说的那样做 sbt run -Dhttp.port=5511
。如果您担心每次使用 运行 任务传递参数,那么您可以仅在 build.sbt
文件中更改根项目设置一次。不要忘记 sbt reload
以便您的 build.sbt
更改生效。
lazy val root = (project in file(".")).enablePlugins(PlayJava)
.settings(PlayKeys.playDefaultPort := 5511)
另一种选择:您可以在 build.sbt 文件中添加以下行
PlayKeys.devSettings += "play.server.http.port" -> "8080"