Embedding play as a library,我在我的項目中啓用了sbt-web插件,並運行web-stage
,使資產逐字複製到target/web/stage/
。然而,使用播放Framework的string interpolation routing DSL如下,他們當匹配請求到來時,不會投放:播放框架sbt-web集成不帶播放插件
object PlayServer extends App {
val server = NettyServer.fromRouter() {
case GET(p"/public/$file*") => {
val path = "/target/web/stage"
Assets.at(path = path, file = file)
}
}
調試通過遊戲代碼handling Assets.at
,它看起來像什麼帶來的資產注入是資源target/scala-2.11/classes/
下,其中可能發揮框架正試圖加載它們作爲資源。運行sbt web-stage
並沒有專門照顧。
那麼sbt-web管理缺少處理資源的缺失?當手動放置在那裏,集成工作!所以它似乎sbt-web在其默認配置中將資產置於錯誤的目標子目錄中,就Play而言......
請注意,在plugins.sbt
中,我只包含來自sbt-web的以下內容, ?
addSbtPlugin("com.typesafe.sbt" % "sbt-web" % "latest.release")