首页 文章

如何更改Play执行“run”命令时使用的默认端口(9000)?

提问于
浏览
199

在播放控制台上发出“run”命令时,如何更改播放框架中播放框架使用的默认端口 .

这适用于playframework 2.0 beta .

在命令行或application.conf中使用http.port配置参数似乎没有任何效果:

C:\dev\prototype\activiti-preso>play run --http.port=8080
[info] Loading project definition from C:\dev\prototype\activiti-preso\project
[info] Set current project to activiti-preso (in build file:/C:/dev/prototype/activiti-preso/)


Windows, really? Ok, disabling colors.

--- (Running the application from SBT, auto-reloading is enabled) ---

[error] org.jboss.netty.channel.ChannelException: Failed to bind to: 0.0.0.0/0.0.0.0:9000
[error] Use 'last' for the full log.

19 回答

  • 1

    播放1.x.

    更改 conf/application.conf 文件中的 http.port 值或传递命令行:

    play run --http.port=8080
    

    播放2.x.

    Play 2.x是一个sbt插件,因此以下命令实际上只是sbt命令 . 您可以使用任何sbt启动器(例如sbt,play或activator) . 下面的命令使用sbt启动器,但您可以将其替换为您选择的sbt启动器 .

    播放2.x - 开发模式

    对于浏览器重新加载模式:

    sbt "run 8080"
    

    对于连续重载模式:

    sbt "~run 8080"
    

    播放2.x - 调试模式

    要在端口 8080 上使用http侦听器以调试模式运行,请运行:

    sbt -jvm-debug 9999 "run 8080"
    

    播放2.x - 产品模式

    从产品模式开始:

    sbt "start -Dhttp.port=8080"
    

    播放2.x - 分阶段发行

    创建分阶段分发:

    sbt stage
    

    对于Play 2.0.x和2.1.x,请使用 target/start 脚本(仅限Unix):

    target/start -Dhttp.port=8080
    

    对于Play 2.2.x和2.3.x,请在 target/universal/stage/bin 目录中使用相应的启动脚本:

    target/universal/stage/bin/[appname] -Dhttp.port=8080
    

    在Windows上使用Play 2.2.x和2.3.x:

    target\universal\stage\bin\[appname].bat -Dhttp.port=8080
    

    播放2.x - 邮编分发

    要创建zip分发:

    sbt dist
    

    对于Play 2.0.x和2.1.x,在提取的zip中使用 start 脚本(仅限Unix):

    start -Dhttp.port=8080
    

    对于Play 2.2.x,请使用 [appname]-[version]/bin 目录中的相应脚本:

    [appname]-[version]/bin/[appname] -Dhttp.port=8080
    

    在Windows上使用Play 2.2.x:

    [appname]-[version]\bin\[appname].bat -Dhttp.port=8080
    
  • 0

    Play 2.0-RC4

    在要运行的播放命令周围添加引号非常重要 . 在没有引号的情况下,播放仍然会在端口9000上运行 .

    play "run 8080"
    

    或者,您可以从播放控制台运行以下命令(键入'play'以进入控制台)

    run 8080
    
  • 4

    希望这有助于某人 .

    通过sbt设置:

    ...
    .settings(PlayKeys.playDefaultPort := 8855)
    ...
    
  • 2

    Version 2.0.3

    • 转到项目目录,然后说 play (之后没有任何内容) . 这将打开游戏机 .

    • 接下来,说 run 8080 . 这将开始在端口8080上播放 .

    我希望这有帮助 .

  • 5

    对于带有可分发tar文件的Windows上的Play 2.2.x,我在可分发的根目录中创建了一个名为 _config.txt的文件,并添加了:

    -Dhttp.port=8080
    

    应将替换为项目名称 . 然后像往常一样在bin \目录中启动 .bat脚本 .

  • 1

    在Windows上播放2.2.0

    使用zip分发(使用“dist”命令生成),我能够更改启动端口的唯一方法是首先设置JAVA_OPTS然后启动应用程序 .

    例如,从命令行

    set JAVA_OPTS=-Dhttp.port=9002
    bin\myapp.bat
    

    其中myapp.bat是“dist”命令创建的批处理文件 .

    以下将始终忽略我的http.port参数并尝试在默认端口9000上启动

    bin\myapp.bat -Dhttp.port=9002
    

    但是,我注意到这在Linux / OSX上工作正常,在请求的端口上启动:

    ./bin/myapp -Dhttp.port=9002
    
  • 1

    适用于Play 2.3.x.

    激活器“运行-Dhttp.port = 9001”

  • 2

    您还可以在项目目录中的 .sbtopts 中设置HTTP端口:

    -Dhttp.port=9001
    

    然后你不必记得每次都将它添加到 run 任务中 .

    使用Play 2.1.1测试 .

  • 2

    适用于Play 2.5.x和Play 2.6.x.

    sbt "-Dhttp.port=9002"
    

    然后

    run
    
  • 3

    通过今天(11月25日)提交的提交,您现在可以在 runstart sbt命令之后立即指定端口号 .

    例如

    play run 8080play start 8080

    播放默认为端口9000

  • 1

    在Windows上可能播放"run 9001"将无法正常工作 . 您必须更改play.bat文件 . 见Ticket

  • 9

    在播放控制台中,如果要从端口8888运行,只需输入run 8888即可 .

    play> run 8888
    
  • 5

    对于游戏2.5.x

    步骤1:使用控件D停止netty服务器(如果它正在运行)

    第2步:转到sbt-dist / conf

    第3步:使用此文件编辑此文件'sbtConfig.txt'

    -Dhttp.port=9005
    

    第4步:启动服务器

    第5步:http://host:9005/

  • 7

    Windows上的Play 2.2.1支持PLAY_OPTS环境变量 . Play的play.bat文件包含以下行:

    java -Dsbt.ivy.home="%~dp0repository" -Dplay.home="%~dp0framework" -Dsbt.boot.properties="%fp%framework/sbt/play.boot.properties" %PLAY_OPTS% -jar "%~dp0framework\sbt\sbt-launch.jar" %*
    

    所以要在端口9002上运行,做

    set PLAY_OPTS=-Dhttp.port=9002
    play run
    
  • 32

    测试2.3.7 Play框架 . 效果很好 .

    ./{application}/bin/{executable} -Dhttp.port=5000
    
  • 0

    我这样做了 sudo 是必要的 .

    $ sudo play debug -Dhttp.port=80
    ...
    [MyPlayApp] $ run
    

    编辑:因为使用 sudo 我有问题所以要小心 . 最后我清理了项目,我还没有使用过这个技巧 .

  • 2

    我们正在使用Play版本2.5.6 .

    要更改端口,请转到项目根文件夹,然后在命令提示符/终端中单击: activator "run 8008" .

    就是这样 .

  • 389

    在Windows上,我使用这样的start.bat文件:

    java -Dhttp.port=9001 -DapplyEvolutions.default=true -cp "./lib/*;" play.core.server.NettyServer "."
    

    -DapplyEvolutions.default = true告诉evolution自动应用进化而不要求确认 . 当然要谨慎使用 生产环境 环境......

  • 5

    我们无法从avtivator更改应用程序端口,但可以从命令行激活器“〜运行8080”更改

    但是要从激活器运行诗人9000,我们需要停止使用此端口的应用程序 . 我们可以使用这个应用程序找到这个并结束进程https://technet.microsoft.com/en-in/sysinternals/bb897437.aspx

    在此之后我们可以运行并且它将会成功 .

相关问题