Scala Play Production 开始无法正常工作(资产文件夹不可用)

Posted

技术标签:

【中文标题】Scala Play Production 开始无法正常工作(资产文件夹不可用)【英文标题】:Scala Play Production start not working (assets folder not available) 【发布时间】:2016-04-02 01:54:15 【问题描述】:

我可以使用

在开发模式下正常运行游戏
./activator run

但是,当我尝试在 prod 中部署我的代码时

./activator start

我在尝试访问主页时遇到以下错误

 [info] play - Application started (Prod)
 [info] play - Listening for HTTP on /0:0:0:0:0:0:0:0:9000
 [error] application - 

! @6pikee0l8 - Internal server error, for (GET) [/] ->

play.api.Application$$anon$1: Execution exception[[FileNotFoundException: /Users/vikashkumar/Documents/example/target/universal/stage/public/html/index.html (No such file or directory)]]
    at play.api.Application$class.handleError(Application.scala:296) ~[com.typesafe.play.play_2.10-2.3.9.jar:2.3.9]
    at play.api.DefaultApplication.handleError(Application.scala:402) [com.typesafe.play.play_2.10-2.3.9.jar:2.3.9]
    at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$14$$anonfun$apply$1.applyOrElse(PlayDefaultUpstreamHandler.scala:205) [com.typesafe.play.play_2.10-2.3.9.jar:2.3.9]
    at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$14$$anonfun$apply$1.applyOrElse(PlayDefaultUpstreamHandler.scala:202) [com.typesafe.play.play_2.10-2.3.9.jar:2.3.9]
    at scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:33) [org.scala-lang.scala-library-2.10.5.jar:na]
Caused by: java.io.FileNotFoundException: /Users/vikashkumar/Documents/example/target/universal/stage/public/html/index.html (No such file or directory)
    at java.io.FileInputStream.open0(Native Method) ~[na:1.8.0_45]
    at java.io.FileInputStream.open(FileInputStream.java:195) ~[na:1.8.0_45]
    at java.io.FileInputStream.<init>(FileInputStream.java:138) ~[na:1.8.0_45]
    at scala.io.Source$.fromFile(Source.scala:90) ~[org.scala-lang.scala-library-2.10.5.jar:na]
    at scala.io.Source$.fromFile(Source.scala:75) ~[org.scala-lang.scala-library-2.10.5.jar:na]

详情

   scalaVersion := "2.11.6"

插件.sbt

  addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.3.9")

还有一点是,我使用放在 public/html/index.html 的 index.html 作为索引页面,而不是使用播放模板。

看起来资产(plugin/html、css 等)文件夹未在生产中公开

提前致谢!

【问题讨论】:

【参考方案1】:

sbt 应该能够运行您的代码。为什么要使用激活器?

使用sbt run 来启动您的应用程序,而不是activator start 黑匣子

【讨论】:

以上是关于Scala Play Production 开始无法正常工作(资产文件夹不可用)的主要内容,如果未能解决你的问题,请参考以下文章

带有 Play2.4 和 scala 的 Google Guice 的循环依赖错误

使用 H2 内存数据库设置 Scala Play 测试

如何使用 Play with Scala 和 Slick 从数据库中获取记录

PLAY2.6-SCALA 模板引擎Twirl

play框架之简介

在 i18n Play 2.4 Scala 模板中设置隐式语言