私のアプリを実行するときにJVMオプションを指定するか、SBTを使ってアプリのテストを指定したいと思います。具体的には、JVMに-Djava.security.policyパラメータを与えて、ポリシーをロードしてテストに使用できるようにする必要があります。アプリケーションやテストケースの実行時に使用するためにJVMオプションをSBTに渡すにはどうすればよいですか?
SBTでどうすればいいですか? xsbtで
私のアプリを実行するときにJVMオプションを指定するか、SBTを使ってアプリのテストを指定したいと思います。具体的には、JVMに-Djava.security.policyパラメータを与えて、ポリシーをロードしてテストに使用できるようにする必要があります。アプリケーションやテストケースの実行時に使用するためにJVMオプションをSBTに渡すにはどうすればよいですか?
SBTでどうすればいいですか? xsbtで
、あなたはフォークのJVMを使用している場合は、「Running Project Code」で述べた理由のforked JVM(理由の1
でテストを実行できます。
がに設定を指定します。本体のみまたはテスト実行タスクに影響を与える:
scala javaOptions in (Test,run) += "-Xmx8G"
かを指定することができるはずです
そのJVMのその他のオプションはjavaOptions
です。以下の設定がないため、SBTのオプションの、しかしため、パスの、最初はうまくいかなかったことを
OP David Eagenレポート:
lazy val escacheServer =
Project("escache-server",
file("server"),
settings = buildSettings ++ Seq(resolvers ++=
Seq(scala_tools_snapshots, typesafe_repo),
libraryDependencies ++= escacheServerDeps,
javaOptions in run += "-Djava.security.policy=jini.policy",
fork in run := true
)
).dependsOn(escache) }
私の問題があることだったように見えます現在のディレクトリに
jini.policy
が見つかりませんでした。
私は完全なパスを設定し、今はそれが実行されます。
ここでjavaOptionsを設定しますか? lazy val escacheServer = Project( "escache-server"、file( "server")、 \t \t \t settings = buildSettings ++このようにプロジェクトの設定に追加すると、何もしていないように見えます。 \t \t \t \t配列(レゾルバ++ = SEQ(scala_tools_snapshots、typesafe_repo)、++ = escacheServerDeps \t \t \t \t libraryDependencies、ランで \t \t \t \t javaOptions + =「に-Djava.security.policy = jini.policy "、 \t \t \t \t目でフォーク:=真 \t \t \t \t)).dependsOn(escache) } –
私は私のプロジェクトでそれを使用するときのJVMオプションが実際に設定されますかのように見えます。私は最大ヒープを24Gに設定してテストしましたが、私が使用しているシステムでは処理できません。確かに十分なSBTは失敗を報告しました:[エラー]無効な最大ヒープサイズ:-Xmx = 24G -Djava.security.policy = jini.policy現在のディレクトリにjini.policyが見つかりませんでした。私は完全なパスを設定し、今それは実行されます...おかげでVonC。 –
@David:優れています。私はあなたの設定と結論を答えに含めて、より多くの可視性を得ました。 – VonC