gpt4 book ai didi

playframework-2.0 - 在 Play Framework 2 应用中检索端口号

转载 作者:行者123 更新时间:2023-12-04 12:41:51 27 4
gpt4 key购买 nike

问题是:我如何检索 Play 正在监听的端口号,无论它是如何定义的(配置、命令行参数,或者根本没有)。

这个答案Retrieving port number in-application using Play Framework必须用于 Play v1,因为该代码无法编译。

在 Play 2 Java 中有:

Integer port = Play.application().configuration().getInt("http.port");

这不会返回实际的端口号,至少不是在所有情况下。如果 Play 运行为:
run 80 -Dhttp.address=example.com

然后它返回 null .

如果 Play 运行为
run -Dhttp.port 80 -Dhttp.address=example.com

然后在默认端口 (9000) 上开始 Play 。

正如 biesior 指出的那样,它通过两次提及端口来工作:
play -Dhttp.port=80 "run 80"

这当然不是最佳的,因为一个是 Play 实际使用的内容,另一个是它报告的内容。

但它会回答我关于开发模式的问题。然而,正如文档所说,Play 不应该使用 run 运行。在生产。那么 start 的等价物是什么?命令,没有更好、更安全的方法吗? (我对 Java 版本感兴趣,但其他人可能也想了解 Scala。)

最佳答案

在开发模式下运行您需要使用双倍表示法

play -Dhttp.port=80 "run 80"

不幸的是,您必须对默认端口执行相同操作
play -Dhttp.port=9000 "run 9000"

所以我只是建议编写 shell 脚本(或 Windows 中的 .bat)以便轻松开始所有必需的参数。

关于playframework-2.0 - 在 Play Framework 2 应用中检索端口号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14970677/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com