如何激活scala中的sbt DockerPlugin?

我有两个scala项目,一个已经定义通过sbt docker插件来构build它的docker容器。 另一个我想要dockerify以及。

工作人员在build.sbt有以下与build.sbt config相关的行:

 organization := "com.namespace" name := "dockerized-app" version := sys.env.getOrElse("PIPELINE_VERSION", "0.1.0_local") scalaVersion := "2.12.4" enablePlugins(JavaAppPackaging) enablePlugins(DockerPlugin) packageName in Docker := packageName.value dockerRepository := Some("our-docker.io:5001") dockerExposedPorts := Seq(8080) 

我以为我可以复制相关的行粘贴到新项目,更改名称,并使其工作。

然而,当我将这条线添加到即将被dockerified的scala项目时:

 enablePlugins(DockerPlugin) 

我得到的错误:

  Cannot resolve symbol DockerPlugin 

我已经浏览了预先存在的项目libraryDependencies ,但似乎没有这样configuration。 在预configuration项目中,IntellJ以某种方式知道插件,我可以跟踪来自com.typesafe.sbt.packager.docker 。 这让我认为sbt默认带有它。

但显然我必须以某种方式激活它。

深入挖掘我也尝试添加到我的plugins.sbt无济于事:

 addSbtPlugin("com.typesafe.sbt" % "sbt-native-packager" % "1.3.2") 

如何在scala中使用sbt来激活DockerPlugin

为了使其正常工作,您需要添加以下行:

 addSbtPlugin("com.typesafe.sbt" % "sbt-native-packager" % "1.3.2") 

在你的project/plugins.sbt文件中。

然后刷新你的项目,它应该工作。

有关更多信息,请查看Sbt Native Packager文档 。