Play Framework 2.1.1部署问题

所以,我正在尝试部署我非常简单的Play Framework 2.1.1应用程序,但每当我通过端口命令行传递标志并应用数据库演变时,它们都会被忽略。

例如:

sudo play start -Dhttp.port = 80 -DapplyEvolutions.default = true

使用此命令,服务器将无法启动。 port和applyEvolutions = true标志都被完全忽略,并抛出此错误:

[warn] play – 您的生产数据库[默认]需要进化! [warn] play – 运行-DapplyEvolutions.default = true如果你想自动运行它们(小心)哎呀,无法启动服务器。 @ 6elhl9mca:数据库’默认’需要进化!

我已经尝试了所有我能想到的无济于事的东西。 在我的本地机器上使用Play Run工作正常,没有问题。 服务器正在运行Ubuntu 12.04。 所有正确的驱动程序和连接字符串都存在并经过测试,数据库正在运行,除了Play Framework之外,一切正常运行。

play "start -Dhttp.port=80 -DapplyEvolutions.default=true" 

要么

 play dist 

然后,解压缩并运行生成的启动脚本,

 ./start -Dhttp.port=80 -DapplyEvolutions.default=true 

将工作。

好的,所以我没有真正找到解决方案,但我找到了解决方法。 这不是Play Framework 2.x文档中的任何地方(还是),所以我想我会把它放在这里以防其他人被卡住:

applyEvolutions.default=true放入application.conf正常工作,并自动应用数据库演变。 命令行参数-DapplyEvolutions.default=true不起作用,因未知原因而被忽略。

http.port=80放入application.conf不起作用。 命令行参数-Dhttp.port=80不能用于设置要运行的端口号。

因此,要设置端口号,请使用此命令:

play "start 80"play "run 80" (完全如图所示使用双引号)。

出于某种原因,当端口命令与上面的双引号完全相同时,正确设置要运行的端口号。

这在任何地方的框架文档中都找不到。 我创建了另一个拉取请求来添加它,但我为此框架解决的最后一个问题(数据库加密)被拒绝为仅限于“有限的利基用例”,因此文档更新被拒绝。 反正我还是可以试试。

希望这有助于某人。