我正在为 Scala 项目使用Mill Build Tool,该工具使用 build.sc 文件列出项目中不同模块的特定依赖项。现在,我正在尝试对项目进行 dockerize,并希望在复制整个存储库之前在映像中安装依赖项。我想避免这种情况,这样每次对源代码进行小的更改时就不必安装依赖项。有什么简单的方法可以做到这一点吗?谢谢!
这是 sbt 的类似帖子:sbt 仅获取依赖项
此代码确实使用 mill 进行编译和运行,但智能感知显示错误“object pwd is not a member of package foo.os bloop”
//main.scala
package foo
object Exercise{
def main(args: Array[String]): Unit = {
println(os.pwd)
}
}
Run Code Online (Sandbox Code Playgroud)
//build.sc
import mill._, scalalib._
object foo extends ScalaModule {
def scalaVersion = "2.13.1"
def ivyDeps = Agg(
ivy"com.lihaoyi::os-lib:0.7.8"
)
}
Run Code Online (Sandbox Code Playgroud)
我有 Metals vscode 扩展,它确实可以识别项目库中的 os-lib 。它确实显示了 os.pwd 的类型,但仍然显示错误。
我想运行evicted我的Mill项目。
通过SBT ,可以使用以下方法在 中完成sbt-console:
sbt>evicted
这将返回版本冲突警告列表:
[warn] Found version conflict(s) in library dependencies; some are suspected to be binary incompatible:
[warn] * com.typesafe:ssl-config-core_2.13:0.3.8 is selected over 0.4.0
[warn] +- com.typesafe.play:play-ws-standalone_2.13:2.0.6 (depends on 0.3.8)
[warn] +- com.typesafe.play:play_2.13:2.7.3 () (depends on 0.3.8)
[warn] +- com.typesafe.akka:akka-stream_2.13:2.5.23 () (depends on 0.4.0)
....
Run Code Online (Sandbox Code Playgroud)
米尔是如何做到这一点的?
我尝试了mill-console,没有命令(mill resolve _),谷歌也无法提供帮助。