使用 sbt-native-packager 澄清 dockerExposedPorts 的范围委托

问题描述

我正在使用 Scala Play 附带的 sbt-native-packager 插件

addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.8.8")

我想知道为什么在使用时没有为 dockerExposedPorts 项目设置 root 设置:

name := """scala-play-react-seed"""
version := "1.0-SNAPSHOT"

lazy val root = (project in file("."))
  .enablePlugins(PlayScala)
  .settings(
    Docker / dockerExposedPorts := Seq(9000),// <-- 1. doesn't work
  )

Docker / dockerExposedPorts := Seq(9000),// <-- 2. also doesn't work
$ sbt show root/dockerExposedPorts
[info] * 

但是,如果我删除 Docker 配置部分,它会起作用:

  .settings(
    dockerExposedPorts := Seq(9000),// <-- 3. works
  )
$ sbt show root/dockerExposedPorts
[info] * 9000

据我所知,sbt 的 scope delegation,case 1. 的范围是 root / Docker / Zero / dockerExposedPorts,这应该比 case 3. root / Zero / Zero / dockerExposedPorts 更具体。我在这里错过了什么?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)