我试图将单个模块项目转换为两个模块 根聚合。感觉像是正常的事情。
所以,为了简化我删除了我添加的第二个项目,但是我 做类似的事情:
cd myproject
mkdir core
mv * core
然后在myproject中添加build.sbt,如
lazy val root = project.in( file(".") ).aggregate(core)
lazy val core = project in file("core")
然而,尝试构建核心我得到:
[myproject] /core/build.sbt:22:错误:找不到:值lessSettings SEQ(lessSettings:_ *)
这是在project / plugins.sbt中添加的插件的设置 原始项目现在在
[myproject]/core/project/plugins.sbt
为什么不接这个?我不能只使用插件 子模块? cd:进入核心子模块并运行sbt它运行得很好。我有吗 将我的插件移动到root / project?非常好,它不可以吗?
答案 0 :(得分:8)
您的plugin.sbt
文件会被忽略,因为您无法在多项目构建的子项目中拥有project
子文件夹。
根项目的.sbt
个文件以及所有子项目的所有.sbt
个文件都是单个构建定义的一部分。子项目中定义的设置只是自动作用于该项目。
由于只有一个构建定义,因此只有一个项目可以构建该构建定义,并且该项目位于根项目的project/
文件夹中。子项目的所有project/
个文件夹都将被忽略。
在您的情况下,将plugin.sbt
移至构建根project
文件夹应该会使您的插件重新显示。
此外,如果您只使用core
项目,而不是在核心中运行sbt
,则可以在根项目中运行sbt
并输入project core
到& #34;移动" (实际上,将你所做的一切都做到了)核心子项目。