8

-Dconfig.file=conf/dev.confコマンドを使用するときに、Build.scala を介してアプリケーションにパラメーターを渡したいと 思いますrun

私は私の中にこのようなものを入れようとしていますBuild.scala:

val mySettings = Seq(
  (javaOptions in run) ++= Seq("-Dconfig.file=conf/dev.conf")
)

val main = play.Project(appName, appVersion, appDependencies).settings(
  mySettings: _*
)

しかし、そうではありません-私が収集したものから、これは、runを使用するときにSBTが新しいJVMをフォークしないためです。環境変数を設定する以外の回避策はありますか?

4

2 に答える 2

2

Play は SBT JVM と同じ JVM で実行されるため、SBT で設定された Java オプションは使用されないようです。

次のようなものを試すことができます:

  • 指定したJavaオプションを使用fork in run := trueして、新しいJVMが生成されるように使用します

  • でSBTを起動-Dconfig.file=conf/dev.conf

  • 同じ JVM でアプリを実行する前に、システム プロパティを手動で設定します。System.setProperty("config.file","conf/dev.conf")

これらのソリューションがすべて機能するかどうかはわかりませんが、試してみる価値はあります

于 2013-08-17T09:55:03.317 に答える
0

@Sebastien Lorberが答えたように、

fork in run := true

トリックを行う必要があります。実行に加えて、カスタム実行タスクを作成するにはどうすればよいですか?も参照してください。よくある質問で。

于 2013-12-15T09:43:28.257 に答える