在命令行上运行scala jar时,如何指定不同的主类?

在命令行上运行scala jar时,如何指定不同的主类?,scala,Scala,我有一个scala项目,其中有两个对象扩展了App。我在build.sbt中指定了一个作为主类。我正在使用assembly构建一个胖jar 在命令行上运行jar时,如何执行非默认的主类?例如,如果com.example.app1被指定为build.sbt中的主类,我如何使用jar从命令行运行com.example.app2(假设它也扩展了App) 这将是在一个生产环境中,我不会让sbt运行默认的主类(从jar的清单中),如下所示: java -jar assembly.jar java -cp

我有一个scala项目,其中有两个对象扩展了
App
。我在
build.sbt
中指定了一个作为主类。我正在使用
assembly
构建一个胖jar

在命令行上运行jar时,如何执行非默认的主类?例如,如果
com.example.app1
被指定为
build.sbt
中的主类,我如何使用jar从命令行运行
com.example.app2
(假设它也扩展了
App


这将是在一个生产环境中,我不会让
sbt

运行默认的主类(从jar的清单中),如下所示:

java -jar assembly.jar
java -cp assembly.jar com.example.app2
您将运行一个不同的主类,如下所示:

java -jar assembly.jar
java -cp assembly.jar com.example.app2