我继承了一个包含许多子项目的项目。在开发期间,您可以通过在顶级项目上调用run
来启动实际产品。但是,对于运行产品,您不需要 要包含所有子项目的类路径。事实上,一些子项目有一个类路径应该绝对不包含在顶级runClasspath
中。你怎么能这样做?如何从顶级类路径中明确排除子项目的类路径?
答案 0 :(得分:0)
我先回答我自己的问题。我觉得这不是正确的方法,但似乎有效。假设您定义了一个子项目,如下所示:
lazy val fooSub = project(....)
...然后似乎可以通过将fooSub
的类路径添加到顶级项目的定义中来阻止override def topologicalSort = super.topologicalSort.filter(_ != fooSub)
的类路径包含在其中:
fullClasspath
这很有效,因为topologicalSort
似乎使用{{1}}来查找所有子项目,将其类路径包含在自己的类路径中。虽然我的口味似乎有点过于激进。很难说它是否在别的地方破了。