4

ビルドをbuild.sbtからBuild.scalaファイルに移動していますが、 xsbt-web-pluginを使用するときに jetty ポート設定をオーバーライドするのに問題があります。build.sbtを使用すると、次を使用してプロパティを設定できました。

port in container.Configuration := 8081

私の .scala ファイルでいくつかのことを試しましたが、たとえばBuildSettingsオブジェクトでは、jetty は常に 8080 から始まります。

import sbt._
import Keys._
import com.earldouglas.xsbtwebplugin.PluginKeys._
object BuildSettings {
  lazy val settings =  com.earldouglas.xsbtwebplugin.WebPlugin.webSettings ++ seq(
    ...
    port := 8081,
    ...
  ) 
}

Build.scalaの Project 定義でオーバーライドすることも試みました。

  lazy val root = Project("test",file("."))
    .settings(settings: _*)
    .settings(port := 8081)

しかし、それは常に 8080 で始まります。どちらの場合も、実行するとshow port8081 が表示されます。

4

1 に答える 1

5

問題は、Web プラグインがポート設定を構成内に隠していることです。ポート設定が異なる複数のコンテナを許可します。ただし、スコープのないキーからポートを取得するわけではありません(多くのプラグインが行うように)。

したがって、明示的に行う必要があります。

ポートイン:= 8081

sbt コンソールinspect treeでサーバーの起動タスクを実行すると、おそらく設定に依存している場所が表示され<config>:partます。

デフォルトでは、次のものが必要だと思います:

port in container.Configuration := 8081

.scala ファイルを使用している場合は、次のようなファイルも含める必要がある場合がありますContainer

import com.earldouglas.xsbtwebplugin.WebPlugin.container

また、Web プラグインで機能要求を開いて、ポート設定を自動的にデリゲートしGlobal、デフォルト Web プラグインのデフォルトを指定することをお勧めします。

次の 2 つの設定を使用して、これを自分で模倣できます。

port in container.Configuration := port in Global

port in Global := 8081

それが役立つことを願っています!

于 2013-11-08T15:33:10.120 に答える