当在play控制台发出“run”命令时,如何更改开发模式下play框架使用的默认端口。

这是playframework 2.0测试版。

使用http。端口配置参数在命令行或在application.conf中似乎没有影响:

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.

当前回答

指定开发中的端口

缺省情况下,SBT在9000端口上运行应用程序:

sbt run

使用实例指定端口add -Dhttp。端口标志,例如:

sbt run -Dhttp.port=8080

使用-Dhttp。端口标志,您可以在开发机器上调试多个应用程序。请注意,您也可以使用-Dhttp。测试和生产环境中的端口标志。

其他回答

在Windows上播放2.2.0

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

例如,从命令行

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

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

下面的代码总是会忽略我的http。端口参数,并尝试在默认端口9000上启动

bin\myapp.bat -Dhttp.port=9002

然而,我注意到这在Linux/OSX上工作得很好,在请求的端口上启动:

./bin/myapp -Dhttp.port=9002

Play 2.2。我在可分配根目录中创建了一个名为{PROJECT_NAME}_config.txt的文件,并添加:

-Dhttp.port=8080

其中{PROJECT_NAME}应该替换为您的项目名称。然后像往常一样在bin\目录中启动{PROJECT_NAME}.bat脚本。

在2.8版中。X你可以使用特定的资源文件或特定的端口运行(如果只运行sbt,你将使用application.conf和默认端口9000)

sbt运行-dconfig.resource=application.local.conf -dhttp.port=9002

在Windows上,“运行9001”可能无法运行。你必须改变play.bat文件。看到机票

播放2.5.x

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

步骤2:进入sbt-dist/conf目录

步骤3:编辑这个文件“sbtConfig.txt”

-Dhttp.port=9005

步骤4:启动服务器

第五步:http://host:9005/