Статический файл хорошо работает в "sbt run".Но это не работает в докере, который собран сборкой sbt.
Я использую Play 2.5.12, и мне нужно обработать только один статический файл, поэтому я добавляю файл в общую папку и добавляю маршрут наroute.conf, как показано ниже.
GET /googlee.html controllers.Assets.at (path = "/ public", file = "google.html")
Это работает очень хорошо, если яоткройте приложение с "sbt run".Но когда я поднимаю его в докере, это не работает.
Я обновляю уровень журнала до DEBUG, но он ничего не показывает об ошибке.Я предполагаю, что это проблема "sbt assembly", но я не могу понять, в чем причина.
Ниже приведен фрагмент о "sbt assembly" в build.sbt
assemblyJarName in assembly := "my-app" + "-assembly.jar",
assemblyMergeStrategy in assembly := {
case PathList("newrelic-agent") => MergeStrategy.discard
case PathList(ps @ _*) if ps.last endsWith ".class" => MergeStrategy.first
case PathList(ps @ _*) if ps.last endsWith ".java" => MergeStrategy.first
case PathList(ps @ _*) if ps.last endsWith ".yaml" => MergeStrategy.first
case PathList(ps @ _*) if ps.last endsWith ".yml" => MergeStrategy.first
case PathList(ps @ _*) if ps.last endsWith "excludes" => MergeStrategy.first
case PathList(ps @ _*) if ps.last endsWith ".txt" => MergeStrategy.first
case PathList(ps @ _*) if ps.last endsWith ".properties" => MergeStrategy.first
case PathList(ps @ _*) if ps.last endsWith ".json" => MergeStrategy.first
case PathList(ps @ _*) if ps.last endsWith ".jar" => MergeStrategy.first
case PathList(ps @ _*) if ps.last endsWith ".html" => MergeStrategy.first
case "application.conf" => MergeStrategy.concat
case "CHANGELOG" => MergeStrategy.discard
case manifest if manifest.contains("MANIFEST.MF") => MergeStrategy.discard
case x =>
val oldStrategy = (assemblyMergeStrategy in assembly).value
oldStrategy(x)
},