Playframework 如何更改Play在执行";时使用的默认端口(9000);“运行”;指挥部?

Playframework 如何更改Play在执行";时使用的默认端口(9000);“运行”;指挥部?,playframework,port,playframework-2.0,Playframework,Port,Playframework 2.0,在播放控制台上发出“run”命令时,如何更改开发模式下播放框架使用的默认端口 这是PlayFramework2.0测试版 在命令行或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 [inf

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

这是PlayFramework2.0测试版

在命令行或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.
播放2.x 在重头戏2中,这些都是用sbt插件实现的,所以下面的说明实际上只是sbt任务。您可以使用任何sbt跑步者(e 在重头戏2中,这些都是通过sbt插件实现的,因此下面的内容只是 sbt任务。您可以使用任何sbt跑步者(例如,
sbt
play
,或
activator
)。下面使用了
sbt
流道,但是 你可以用它代替你选择的sbt跑步者

播放2.x-开发模式 对于浏览器重新加载模式:

sbt "run 8080"
sbt "~run 8080"
对于连续重新加载模式:

sbt "run 8080"
sbt "~run 8080"
播放2.x-调试模式 要在端口
8080
上使用http侦听器以调试模式运行,请运行:

sbt -jvm-debug 9999 "run 8080"
播放2.x-Prod模式 在Prod模式下启动:

sbt "start -Dhttp.port=8080"
剧本2.x-分阶段发行 创建分阶段分发:

sbt stage
sbt dist
对于播放2.0.x和2.1.x,请使用
target/start
脚本(仅限Unix):

对于播放2.2.x和2.3.x,请使用
target/universal/stage/bin
目录中的相应开始脚本:

target/universal/stage/bin/[appname] -Dhttp.port=8080
[appname]-[version]/bin/[appname] -Dhttp.port=8080
-Dhttp.port=9001
-Dhttp.port=9100
在Windows上播放2.2.x和2.3.x时:

target\universal\stage\bin\[appname].bat -Dhttp.port=8080
[appname]-[version]\bin\[appname].bat -Dhttp.port=8080
Play2.x-Zip发行版 要创建zip分发,请执行以下操作:

sbt stage
sbt dist
对于Play 2.0.x和2.1.x,请在解压缩的zip文件中使用
start
脚本(仅限Unix):

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

target/universal/stage/bin/[appname] -Dhttp.port=8080
[appname]-[version]/bin/[appname] -Dhttp.port=8080
-Dhttp.port=9001
-Dhttp.port=9100
在Windows上使用Play 2.2.x:

target\universal\stage\bin\[appname].bat -Dhttp.port=8080
[appname]-[version]\bin\[appname].bat -Dhttp.port=8080
播放1.x 更改
conf/application.conf
文件中的
http.port
值或传递命令行:

play run --http.port=8080

今天(11月25日)引入了commit,现在您可以在
run
start
sbt命令之后指定端口号

比如说

播放运行8080
播放开始8080


播放默认为端口9000

播放2.0-RC4

在要运行的play命令周围加引号是很重要的。在我的例子中,如果没有引号,play仍然会在端口9000上运行

play "run 8080"
或者,您可以从播放控制台运行以下操作(键入“播放”进入控制台)


版本2.0.3

  • 转到项目目录,只需说播放(之后什么也不说)。 这将打开游戏控制台

  • 接下来,说运行8080。这将在端口8080上开始播放


我希望这有帮助。

在Windows上,播放“run 9001”可能不起作用。您必须更改play.bat文件。请参见在Windows上,我使用的start.bat文件如下:

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

-DapplyEvolutions.default=true告诉evolutions自动应用evolutions,而无需请求确认。当然,在生产环境中要小心使用…

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

target/universal/stage/bin/[appname] -Dhttp.port=8080
[appname]-[version]/bin/[appname] -Dhttp.port=8080
-Dhttp.port=9001
-Dhttp.port=9100
这样,您就不必每次都记得将其添加到
运行任务中


使用Play 2.1.1进行测试。

对于Windows上具有可分发tar文件的Play 2.2.x,我在可分发根目录中创建了一个名为:{PROJECT_NAME}\u config.txt的文件,并添加了:

-Dhttp.port=8080
其中{PROJECT\u NAME}应替换为项目名称。然后像往常一样在bin\目录中启动{PROJECT\u NAME}.bat脚本。

在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

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

如果要从8888端口运行,只需在play console中键入run 8888

play> run 8888

使用2.3.7游戏框架进行测试。效果良好

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

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

但要从activator在poet 9000上运行,我们需要停止使用此端口的应用程序。我们可以使用此应用程序查找此端口并结束进程


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

我这样做了。
sudo
是必要的

$ sudo play debug -Dhttp.port=80
...
[MyPlayApp] $ run
编辑:我因为使用sudo而遇到问题,所以要小心。最后我清理了这个项目,我不再使用这个把戏了。

用于Play 2.3.x


激活器“run-Dhttp.port=9001”

我们使用的是播放版本2.5.6

要更改端口,请转到项目根文件夹并点击:
activator“run8008”
在命令提示符/终端中


就这样。

对于播放2.5.x和播放2.6.x

sbt "-Dhttp.port=9002"
然后

播放2.5.x

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

步骤2:转到sbt dist/conf

步骤3:使用以下命令编辑此文件“sbtConfig.txt”

-Dhttp.port=9005
步骤4:启动服务器


第五步:

希望这能帮助别人

通过sbt设置:

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

只需在
build.sbt

PlayKeys.devSettings:=Seq(“play.server.http.port”->“8080”)

指定开发中的端口 默认情况下,SBT在端口9000上运行应用程序:

sbt run
要指定端口添加-Dhttp.port标志,例如:

sbt run -Dhttp.port=8080
使用-Dhttp.port标志,您可以调试开发计算机上的多个应用程序