当在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.

当前回答

在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

其他回答

我们不能从激活器更改应用程序端口,但可以从命令行激活器“~run 8080”更改。

但是要从激活器上运行poet 9000,我们需要停止正在使用该端口的应用程序。我们可以使用this应用程序来查找并结束该过程https://technet.microsoft.com/en-in/sysinternals/bb897437.aspx

在此之后,我们可以运行,它将成功。

Play 2.3.x

激活器"run -Dhttp.port=9001"

只需在build.sbt中添加以下行

PlayKeys.devSettings:= Seq("play.server.http. play. devsettings . "端口" -> "8080")

我们使用的是Play 2.5.6版本。

要更改端口,请转到项目根文件夹并点击: 在命令提示符/终端激活“run 8008”。

就是这样。

希望这能帮助到一些人。

通过SBT设置:

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