scala - 在 build.sbt 之外的另一个文件中定义子项目
问题描述
我正在尝试定义一个带有后续数量的子项目的多项目构建:
.
├── build.sbt
├── project/
│ ├── dependencies.scala
│ ├── tasks.scala
│ └── settings.scala
├── lib_1/
│ └── src/
├── ...
└── lib_n/
└── src/
这些子项目目前定义在build.sbt
:
val outputJarFolder = "/some/path/"
lazy val comonSettings = /* ... */
lazy val lib_1 = (project in file ("lib1")).settings(
name:="LibOne",
commonSettings,
libraryDependencies ++= Seq(scalaTest, jsonLib, scalaXML, commonsIo),
Compile/packageBin/artifactPath := file(outputJarFolder + "lib1.jar")
)
// ... more libs ...
lazy val lib_n = (project in file ("libn")).settings(
name:="LibLast",
commonSettings,
Compile/packageBin/artifactPath := file(outputJarFolder + "libn.jar")
)
.depensOn(lib_2, lib_12)
我如何在 build.sbt 之外的另一个文件中定义这些子项目以“疏通”该文件?我希望仍然能够按字典顺序定义它们(这lazy
是必须的)。我正在使用 sbt 版本 1.2.8 和 scala 2.10。
我试过了:
- 将这些
lib_k
变量的声明放在一个 scala 文件中并导入它——> sbt 说:“类不能是懒惰的”。 - 将这些声明放在一个对象中(或放在一个类中并在其中实例化它
build.sbt
)-->sbt projects
不会列出任何子项目。
解决方案
推荐阅读
- javascript - 如何在反应中渲染根元素内的模态?
- scala - How to drop values duplicated in column?
- c# - 并行 HttpClient 调用引发 500 内部服务器错误
- python - 扫雷揭示元素 Python
- python - 如何使用 PHP 在 POST 请求中发送“特殊”数据
- node.js - 在不保留 Cookie 的情况下打开多个选项卡
- ruby-on-rails - 使用 ruby 2.6.5 运行 rspec 时出现 whitelist_classes 错误
- dockerfile - Cloud Run 错误:容器无法启动
- python - 如何在我的游戏循环中调用函数的自变量?
- javascript - 使用 Chrome 重新加载页面时内容略有变化