scala - 如何使用凿子模块作为包
问题描述
对于 scala 人来说,这一定是一个显而易见的答案。但对于像我这样的新 scala 用户来说,它不是 ;)
我有两个具有“标准”层次结构(spi2wb和mdio)的 scala 模块(包),我想在第三个项目/模块中使用它们。
我的 spi2wb 模块的文件目录层次结构如下:
├── build.sbt
├── Makefile
├── README.md
└── src
├── main
│ └── scala
│ └── spi2wb.scala
└── test
└── scala
└── test_spi2wb.scala
在 Scala 源代码中,我添加了包头:
- 在 src/main/scala/spi2wb.scala
package spi2wb
- 并在 src/main/scala/mdio.scala
package mdio
这两个项目在我的家用电脑硬盘上。我想知道如何在我的第三个项目中以“import *”的方式使用这两个模块,如时尚:
import mdio._
import spi2wb._
同样,这可能很简单,但我找不到一个简单的方法来做到这一点。
解决方案
我找到了 publishLocal 的解决方案。
在每个模块的 build.sbt 中,我添加了一个版本和组织:
version := "1.0-rc2"
organization := "org.armadeus"
然后对于每个子模块,我启动了 publishLocal 命令:
$ sbt publishLocal
在我的主要“顶级”模块的 sbt 中,我添加了依赖项:
libraryDependencies ++= Seq("org.armadeus" %% "spi2wb" % "1.1")
libraryDependencies ++= Seq("org.armadeus" %% "mdio" % "1.0-rc2")
请注意不要忘记双 %% 符号作为第一个分隔符,以使其适用于您的 scala 版本。
我不知道这是否是这样做的好方法,但它正在工作。
推荐阅读
- angular - 绑定到 ngModel 的管道(纯或不纯)中的力变化检测
- python - 如何将形状 (60,58) (60,59) 的数组更改为相等
- python - 如何在循环中实现气流 DAG
- javascript - 无法理解这个 javascript 解构语句
- c++ - 如何让我的 strchr 函数将 'const char' 和 'char' 数组作为第一个参数?
- java - 如何在 JUnit 5 中使用 mockito 3.0?
- docker - LXC 上的 Docker - rm 文件:注册层失败:处理 tar 文件时出错(退出状态 1):不允许操作
- url - 对页面部分使用非哈希 URL 的优势以及如何实现它们?
- r - 扩展函数在两列之一中返回所有“NA”
- random - AMD FX 8350 上是否有 rdrand 指令?