gpt4 book ai didi

scala - 使用 Build.scala 文件时覆盖码头端口设置

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

我正在将构建从 build.sbt 移动到 Build.scala 文件,并且在使用 xsbt-web-plugin 时无法覆盖码头端口设置。使用 build.sbt 时,我可以使用以下方法设置属性:

port in container.Configuration := 8081

在我的 .scala 文件中,我尝试了一些东西,但码头总是从 8080 开始,例如在我的 BuildSettings 对象中:
import sbt._
import Keys._
import com.earldouglas.xsbtwebplugin.PluginKeys._
object BuildSettings {
lazy val settings = com.earldouglas.xsbtwebplugin.WebPlugin.webSettings ++ seq(
...
port := 8081,
...
)
}

我还尝试在 Build.scala 的项目定义中覆盖它:
  lazy val root = Project("test",file("."))
.settings(settings: _*)
.settings(port := 8081)

但它总是从 8080 开始。在这两种情况下运行 show port显示 8081。

最佳答案

问题是 Web 插件将其端口设置隐藏在配置中。它允许具有不同端口设置的多个容器。但是,它不会从非作用域键中提取端口(许多插件也是如此)。

所以你必须明确地做:

端口:= 8081

在 sbt 控制台上,如果你这样做 inspect tree在服务器启动任务中,您可能会在某个地方看到它依赖 <config>:part环境。

我认为默认情况下,你想要:

port in container.Configuration := 8081

如果您在 .scala 文件中,您可能还需要包含具有 Container 的文件, IE。
import com.earldouglas.xsbtwebplugin.WebPlugin.container

我还建议在 Web 插件上打开一个功能请求,以自动将端口设置委托(delegate)给 Global。并在此处为默认 Web 插件指定默认值。

您可以使用以下两种设置自己模仿:
port in container.Configuration := port in Global

port in Global := 8081

希望有帮助!

关于scala - 使用 Build.scala 文件时覆盖码头端口设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19013444/

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