gpt4 book ai didi

sbt 插件不是从子模块中提取的吗?

转载 作者:行者123 更新时间:2023-12-04 12:58:08 25 4
gpt4 key购买 nike

我正在尝试将单个模块项目转换为两个模块
根聚合。感觉是一件很正常的事情。

所以,为了简化,我删除了我添加的第二个项目,但我
做类似的事情:

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: error: not found: value lessSettings seq(lessSettings:_*)



这是在 project/plugins.sbt 中添加的插件的设置
原来的项目现在在
[myproject]/core/project/plugins.sbt

这个怎么不捡?我不能有插件只存在于
子模块? cd:ing 进入核心子模块并运行 sbt 它工作得很好。我有吗
将我的插件移动到根/项目?漂亮,不能这样吗?

最佳答案

您的 plugin.sbt文件被忽略,因为您不能拥有 project多项目构建的子项目中的子文件夹。

multi-project build ,

  • .sbt根项目的文件,以及所有 .sbt所有子项目的文件都是单个构建定义的一部分。子项目中定义的设置只是自动限定于该项目。
  • 由于只有一个构建定义,因此只有一个项目可以构建该构建定义,即在 project/ 中。根项目的文件夹。全部 project/子项目的文件夹将被忽略。

  • 在您的情况下,移动您的 plugin.sbt到构建根目录 project文件夹应该使您的插件再次出现。

    此外,如果您只在 core 上工作项目,而不是运行 sbt在核心中,您可以运行 sbt在根项目中输入 project core将“移动”(实际上是你所做的一切)转移到核心子项目。

    关于sbt 插件不是从子模块中提取的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28222060/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com