如何定义“run”和“test:run”任务以在分叉JVM上使用hprof运行。
在build.sbt
中fork in run := true
javaOptions in run += "-agentlib:hprof"
此设置使两个运行任务都可以使用hprof。
我想定义我的hprof任务,以保持默认的“run”和“test:run”任务,并使用sbt提示符。
//define myHprofTask, alias default run task
fork in myHprofTask := true
javaOptions in myHprofTask += "-agentlib:hprof"
如何定义这样的任务?
答案 0 :(得分:2)
这基于https://github.com/harrah/xsbt/wiki/Common-Tasks的Additional run tasks
部分。
定义新任务键:
lazy val myHprofTask = TaskKey[Unit]("my-hprof-task")
使用执行Compile
的{{1}}类路径在myHprofTask in Compile
配置(Compile
部分)中添加新的运行任务,并传递“arg1”和“ arg2“作为参数:
demo.Main
对fullRunTask(myHprofTask in Compile, Compile, "demo.Main", "arg1", "arg2")
配置执行相同的操作:
Test
然后,您可以在问题中定义fullRunTask(myHprofTask in Test, Test, "demo.TestMain", "arg1", "arg2")
和fork
设置。
以下是使用快速配置样式(javaOptions
)的完整示例:
build.sbt