如何在运行应用程序或测试用例时将JVM选项传递给SBT?

时间:2011-08-19 12:55:16

标签: scala jvm sbt

我想在运行我的应用程序或通过SBT测试应用程序时指定JVM选项。具体来说,我需要能够为JVM提供-Djava.security.policy参数,以便我的策略被加载并用于测试。

如何使用SBT进行此操作?

1 个答案:

答案 0 :(得分:11)

使用xsbt,您可以在forked JVM中运行测试(因为“Running Project Code”中提到的其中一个原因。

如果您使用的是分叉的jvm:

  

指定仅影响主要或测试运行任务的配置:

scala javaOptions in (Test,run) += "-Xmx8G" 

您应该能够通过javaOptions为该JVM指定任何其他选项。


OP David Eagen报告以下配置最初不起作用,不是因为sbt选项,而是因为路径:

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   我设置完整路径,现在它运行。