【问题标题】:Specifying Play 2.0 port with "dist"使用“dist”指定 Play 2.0 端口
【发布时间】:2012-10-30 20:27:40
【问题描述】:

我正在使用dist 创建一个打包项目,并尝试修改生成的start 脚本以在端口9001 上运行应用程序。

这是生成的:

exec java $* -cp "`dirname $0`/lib/*" play.core.server.NettyServer `dirname $0`

这是我尝试过的,但似乎不起作用。

exec java $* -Dhttp.port=9001 -cp "`dirname $0`/lib/*" play.core.server.NettyServer `dirname $0`

有什么想法吗?

我也尝试在application.conf 中指定http.port=9001,但无济于事。在 Play 1.2.X 中非常容易做到这一点,似乎倒退了一步。

【问题讨论】:

    标签: java playframework sbt


    【解决方案1】:

    在运行play dist 并提取生成的包后,您可以通过运行以下命令在不同的端口上启动 Play 2:

    ./start -Dhttp.port=5432
    

    或者,如果您想编辑 start 脚本,您可以将其更新为:

    #!/usr/bin/env sh
    
    exec java $* -Dhttp.port=5432 -cp "`dirname $0`/lib/*" play.core.server.NettyServer `dirname $0`
    

    然后运行:

    ./start
    

    【讨论】:

    • 所以你想修改启动脚本而不是给启动脚本传递参数?
    • 我尝试将参数传递给生成的脚本。它不是目标/启动脚本。是运行 play dist 后生成的启动脚本。
    • 对不起。通常我使用play stage。我已经更新了使用 play dist 的说明并在 Linux 上对其进行了测试。如果这对您不起作用,则可能是您的 Play 版本中的错误。或特定于操作系统的错误。在这种情况下,请告诉我您使用的是什么版本的 Play 和什么操作系统。
    • 顺便说一句,脚本中的$* 只是获取所有命令参数并将它们传递给java 命令。因此,如果指定 -Dhttp.port 不能作为 start 的参数,那么修改命令将不起作用。
    • 好吧,我想通了。嗯。这里有些可疑。让我回复你!
    猜你喜欢
    • 1970-01-01
    • 2023-04-06
    • 1970-01-01
    • 2017-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-04
    • 2013-06-16
    相关资源
    最近更新 更多