【问题标题】:Play framework 2.3 - cannot start in productionPlay framework 2.3 - 无法在生产中启动
【发布时间】:2015-06-19 09:54:30
【问题描述】:

当我使用 activator start 运行我的 Play 应用程序时,我收到以下错误:

(Starting server. Type Ctrl+D to exit logs, the server will remain in background )

The syntax of the command is incorrect.

使用run 在开发模式下运行时,一切正常。我不太确定在哪里解决这个问题,可能是什么问题?

【问题讨论】:

  • 可以分享Activator版本吗?
  • Activator 1.2.10,我正要安装 Activator 1.3.2 但我认为这不会有什么不同,我只是提到它以获得更完整的信息。我最终将部署在 linux 机器上,所以我认为这将解决问题。我还没有在 Windows 上尝试任何 sebster 的建议,但我会尽快这样做。

标签: playframework playframework-2.3


【解决方案1】:

这是项目目录结构过长时生成长变量导致的已知问题。

长话短说:这是一个 cmd.exe limitation

Activator start does not works for JDK 8 on windows 7 Activator start errror - Bad application path: -Dhttp.port=9000

解决方案:

  • 将您的项目放在像 C:\your_project_name 这样的短路径上。

  • 或者,试试lampz的解决方案(同样的问题):

Windows 解决方案:

1 - 命令行中的“激活器阶段”

2 - 将 stage 目录从 target\universal\stage 复制到 c:\stage 避免长文件路径的问题

3 - 为避免错误的应用程序路径问题,只需创建一个新的 .bat 具有以下内容的文件(我的项目称为 proj):设置 PROJ_OPTS="-Dconfig.file=../conf/application.conf" proj.bat

注意:将 PROJ_OPTS 更改为 YOURPROJECTNAME_OPTS 并将 proj.bat 更改为 你的项目名称.bat

另见:Play Framework 2 Stage Task on Windows, “The input line is too long”

【讨论】:

  • 我尝试了所有解决方案,但没有任何区别。我很快就会得到一台 linux 机器,希望它能工作,但我不能让它在 Windows 上工作有点烦人。我有点坚持这个。
  • 我认为这也与类路径太长(因为长 dir 结构)有关。我在.bat 文件中的类路径中使用了通配符,但没有任何区别。
  • “我认为这也与类路径太长有关”-> 很有可能,它可以解释为什么没有一个解决方案可以解决某些用户的问题。
  • 对于 linux 机器......它会工作并且编译也会明显更快。
  • 还有一件事。更改项目位置后,您是否进行了清理、重新加载、重新编译?因为这应该重新生成你的类路径。
【解决方案2】:

您可以使用激活器创建生产代码并使用以下命令运行它 -

java -Dhttp.port=9000 %1 -cp "lib/*;" play.core.server.NettyServer .

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-06-21
    • 2018-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-11
    相关资源
    最近更新 更多