scala - 有没有办法用sbt-onejar在同一个SBT项目中自动打包多个主类?

标签 scala sbt onejar

我有一个 SBT 项目,其中包含多个具有 main 的类,即 MyClass extends App。当只有一个这样的类时,One-jar 工作正常。如果它找到多个类,它会提示我选择要打包的类:

> one-jar

Multiple main classes detected, select one to run:

 [1] com.smth.AppOne
 [2] com.smth.AppTwo

Enter number: 

我想配置一个 jar 来自动打包所有主要类。在 documentation它将默认主类定义为 mainClass in run in Compile,因此看起来它只需要一个值。

如果这不可能,我很好奇为什么不呢。 :)

现在我只能想到一些技巧,比如为每个 jar 创建一个代理项目,或者每次调用 one-jar 之前在 SBT 中设置一个 mainClass(多次每次构建)。这些方法显然有其不足之处。

最佳答案

使用以下设置默认主类:

mainClass in (Compile, run) := Some("com.smth.AppOne")

来源:This stackoverflow Q&A

关于scala - 有没有办法用sbt-onejar在同一个SBT项目中自动打包多个主类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20624956/

相关文章:

scala - Scala 的路径依赖类型是什么意思?

java - 如何在 Play 中运行协和测试?

scala - 在 sbt 中手动调用 sourceGenerators

kotlin - 在Kotlin Func中使用资源-不适用于肥 jar (一个 jar )

scala - 获取两个列表的元素总和的最快方法

scala - 如何进一步改进基于 Scala 解析器组合器的解析器中的错误消息?

sbt - 通过sbt传递JVM args

java - 使用one-jar构建一个jar文件

scala - Casbah 中的 Mongodb $elemMatch