我有一个带有几个主要类的scala应用程序库。
运行sbt stage
时,sbt可以为我拥有的每个主类正确创建bash脚本,但是它们具有预定义的名称(取自每个类的名称)。
我想控制bash脚本的名称,并将JVM opts传递给每个脚本。
例如:给定两个主要类:FooBar和BarFoo 我分别得到bin / foo-bar和bin / bar-foo。
我想以某种方式传递地图
mainClasses := Map(
"newFooBar" -> "com.example.FooBar",
"newBarFoo" -> "com.example.BarFoo"
)
mainClassesJVM := Map(
"newFooBar" -> "-Xmx512m",
"newBarFoo" -> "-Xmx2g"
)
我找到了一个名为sbt-pack的sbt插件,它可以达到我想要的目的,但是我想知道是否只有使用sbt-native-packager插件才能实现相同的目的。
使用sbt-pack插件的示例:
// [Optional] Specify mappings from program name -> Main class (full package path). If no value is set, it will find main classes
automatically
packMain := Map(
"newFooBar" -> "com.example.FooBar",
"newBarFoo" -> "com.example.BarFoo"
)
// [Optional] JVM options of scripts (program name -> Seq(JVM
option, ...))
packJvmOpts := Map(
"newFooBar" -> "-Xmx512m",
"newBarFoo" -> "-Xmx2g"
)
有人知道仅使用sbt-native-packager可以实现上述目标吗?