在包含多个类的Scala程序中只编译一个类?

在包含多个类的Scala程序中只编译一个类?,scala,Scala,我知道Scala文件(如Java中)最好只定义一个类。但现在我有了别人的密码。代码定义了两个类。我想编译其中一个,因为另一个不编译。当然,我可以注释掉另一个,但是我有大量这样的文件,我正在寻找一个自动化的解决方案。有什么想法吗?Scala编译器可以处理整个文件。我能想象这样做的唯一方法是编写一个脚本,注释掉所有您不想要的类,运行scalac,然后再次删除注释标记(您也可以将Scala编译器用作库,以获得等效的结果,而不必按字面意思执行)。不用说,我认为这实际上不是一个好主意,但这是可能的。自动化

我知道Scala文件(如Java中)最好只定义一个类。但现在我有了别人的密码。代码定义了两个类。我想编译其中一个,因为另一个不编译。当然,我可以注释掉另一个,但是我有大量这样的文件,我正在寻找一个自动化的解决方案。有什么想法吗?

Scala编译器可以处理整个文件。我能想象这样做的唯一方法是编写一个脚本,注释掉所有您不想要的类,运行
scalac
,然后再次删除注释标记(您也可以将Scala编译器用作库,以获得等效的结果,而不必按字面意思执行)。不用说,我认为这实际上不是一个好主意,但这是可能的。

自动化解决方案会做什么?阅读一些应该或不应该编译的类的外部列表?如果你在某处有这样一个列表,为什么不以注释的形式保存相同的信息,不包括坏掉的类呢?使用
sbt assembly
来创建一个可执行文件顺便说一下,Scala中没有这样的规则。在一个文件中定义多个类是很常见的。在定义密封类层次结构时,这甚至是一个要求。