在播放scala时找不到favicon.ico问题
我已经测试了play 2.3.4应用程序,在控制台中它抱怨如下:在播放scala时找不到favicon.ico问题,scala,playframework,Scala,Playframework,我已经测试了play 2.3.4应用程序,在控制台中它抱怨如下: ! @6jg7imio5 - Internal server error, for (GET) [/favicon.ico] -> play.api.Application$$anon$1: Execution exception[[NoSuchElementException: key not found: favicon.ico]] at play.api.Application$class.handleErr
! @6jg7imio5 - Internal server error, for (GET) [/favicon.ico] ->
play.api.Application$$anon$1: Execution exception[[NoSuchElementException: key not found: favicon.ico]]
at play.api.Application$class.handleError(Application.scala:296) ~[play_2.10-2.3.0.jar:2.3.0]
at play.api.DefaultApplication.handleError(Application.scala:402) [play_2.10-2.3.0.jar:2.3.0]
at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$14$$anonfun$apply$1.applyOrElse(PlayDefaultUpstreamHandler.scala:205) [play_2.10-2.3.0.jar:2.3.0]
at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$14$$anonfun$apply$1.applyOrElse(PlayDefaultUpstreamHandler.scala:202) [play_2.10-2.3.0.jar:2.3.0]
at scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:33) [scala-library.jar:na]
Caused by: java.util.NoSuchElementException: key not found: favicon.ico
at scala.collection.MapLike$class.default(MapLike.scala:228) ~[scala-library.jar:na]
at scala.collection.AbstractMap.default(Map.scala:58) ~[scala-library.jar:na]
at scala.collection.MapLike$class.apply(MapLike.scala:141) ~[scala-library.jar:na]
at scala.collection.AbstractMap.apply(Map.scala:58) ~[scala-library.jar:na]
at controllers.Application$$anonfun$list$1$$anonfun$apply$7$$anonfun$apply$8.apply(Application.scala:68) ~[classes/:2.3.0]
然后我搜索了所有的源代码,没有找到任何使用favicon.ico的地方。在图书馆里用过吗
我在斯里克使用的图书馆。库配置如下所示:
libraryDependencies ++= Seq(
"com.typesafe.play" %% "play-slick" % "0.7.0",
"org.slf4j" % "slf4j-nop" % "1.6.4",
"joda-time" % "joda-time" % "2.3",
"org.joda" % "joda-convert" % "1.5",
"com.github.tototoshi" %% "slick-joda-mapper" % "1.1.0",
jdbc,
anorm
)
更新:
在路由文件中,我根据biesior的回复添加了以下内容。但它仍然抱怨同样的错误。我把favicon.ico放错地方了吗
GET /favicon.ico controllers.Assets.at(path="/public", file="favicon.ico")
每个浏览器在访问地址时都会查找favicon.ico。只需将该文件添加到公用文件夹并添加路由:
GET /favicon.ico controllers.Assets.at(path="/public", file="favicon.ico")
提示:它也可以是png文件-在默认的new PlayJava或PlayScala项目中,可以在public/images/favicon.png中找到它每个浏览器在访问地址时都会查找favicon.ico。只需将该文件添加到公用文件夹并添加路由:
GET /favicon.ico controllers.Assets.at(path="/public", file="favicon.ico")
提示:它也可以是png文件-在默认的新PlayJava或PlayScala项目中,它可以在public/images/favicon.png中找到。您应该将路径表示为controllers.Assets.atpath=/public/images,file=favicon.ico您应该将路径表示为controllers.Assets.atpath=/public/images,file=favicon.ico我相应地更改了,但是仍然失败,我更新了我的原始邮件,请帮助审阅。我相应地进行了更改,但是仍然失败,我更新了我的原始邮件,请帮助审阅。如果您将其放入子文件夹,您的路由应该是…atpath=/public,file=images/favicon.icoI已更改,但仍然存在问题。我检查了play template创建的默认路由器,favicon.ico没有这样的路由器,那么为什么其他应用程序可以这样做呢?我不知道,把这个项目推到github,这样我们就可以看到它。如果你把它放在子文件夹中,你的路由应该是…atpath=/public,file=images/favicon.icoI更改了,但仍然有问题。我检查了play template创建的默认路由器,favicon.ico没有这样的路由器,那么为什么其他应用程序可以这样做呢?我不知道,把这个项目推到github,这样我们就可以看到整个项目了