21
SBT를 통해 내 앱 또는 앱 테스트를 실행할 때 JVM 옵션을 지정하고 싶습니다. 특히, 내 정책이로드되어 테스트에 사용되도록 JVM에 -Djava.security.policy 매개 변수를 제공 할 수 있어야합니다.앱이나 테스트 케이스를 실행할 때 JVM 옵션을 SBT에 전달하려면 어떻게해야합니까?
SBT로 어떻게 할 수 있습니까? xsbt와
SBT를 통해 내 앱 또는 앱 테스트를 실행할 때 JVM 옵션을 지정하고 싶습니다. 특히, 내 정책이로드되어 테스트에 사용되도록 JVM에 -Djava.security.policy 매개 변수를 제공 할 수 있어야합니다.앱이나 테스트 케이스를 실행할 때 JVM 옵션을 SBT에 전달하려면 어떻게해야합니까?
SBT로 어떻게 할 수 있습니까? xsbt와
, 당신이 갈래의 JVM을 사용하는 경우는 "Running Project Code"에서 언급 한 이유 forked JVM (하나 때문에
에서 테스트를 실행할 수 있습니다 :
이의 구성을 지정합니다. 단지 주 또는 테스트 실행 작업에 영향을
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 서열 (리졸버 ++ = 서열 (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)) .dependsOn (escache) } –
그것은 보이는 JVM 옵션은 실제로 내 프로젝트에 있음을 사용할 때 설정합니까처럼. 나는 최대 힙을 내가 사용하고있는 시스템이 처리 할 수없는 24G로 설정하여 테스트했다. 물론 SBT가 실패를보고했습니다 : [오류] 잘못된 최대 힙 크기 : -Xmx = 24G -Djava.security.policy = jini.policy 내 문제는 jini.policy가 현재 디렉토리에서 발견되지 않은 것입니다. 나는 전체 경로를 설정하고 지금은 실행 ... 감사합니다 VonC. –
@David : 우수, 더 많은 가시성을 얻기 위해 응답에 구성 및 결론을 포함 시켰습니다. – VonC