5

デフォルトでは、Scalatra は「webapp」ディレクトリが にあると想定していますsrc/main/webapp。それをどのように変更できcontent/doc-rootますか?

sbt では、次のようなものを使用してデフォルト ディレクトリをカスタマイズできます。

scalaSource <<= (baseDirectory)(_ / "src")

したがって、使用する正しい「構成キー」を知っているだけの問題だと思います...

4

4 に答える 4

1

xsbt-web-plugin の新しいバージョン (執筆時点で 1.0.0) では、ソース パスの変更方法が異なります。

まず、対応する設定を に移動しましたXwpPlugin.webappSettings。そして、あなたはこれらの2つを必要とします

webappSrc in webapp <<= (baseDirectory in Compile) map { _ / "content" / "doc-root" },
webappDest in webapp <<= (baseDirectory in Compile) map { _ / "content" / "doc-root" },
于 2014-11-18T18:17:40.127 に答える
0

sbt の設定を変更したくない場合は、serveStaticResource をオーバーライドして forward を使用することにより、プログラムで変更することもできます。

override protected def serveStaticResource(): Option[Any] = {
  // check to see if we need to alter the path to find the TRUE disk url
  val incUrl = request.getRequestURI

  if(incUrl.startsWith("/otherDir")) {
    servletContext.resource(request) map { _ =>
      servletContext.getNamedDispatcher("default").forward(request, response)
    }
  } else {
     val trueUrl = "/otherdir" + incUrl
     Option(servletContext.getRequestDispatcher(trueUrl).forward(request, response))
  }
}

免責事項: 無限ループに入らないことも確認する必要があります。

于 2016-02-24T20:48:27.770 に答える