无法解析 docker 个相关的 sbt 标签
Can't resolve docker related sbt tags
我正在尝试将 sbt-docker 添加到我的游戏网站的 sbt 构建中,但我 运行 遇到了问题。由于某些原因,底部的docker相关内容的none可以解决。
project/plugins.sbt
logLevel := Level.Warn
resolvers ++= Seq(
"Typesafe repository" at "http://repo.typesafe.com/typesafe/releases/"
)
addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.5.9")
build.sbt
name := "personal_site"
version := "1.1"
lazy val `personal_site` = (project in file(".")).enablePlugins(PlayScala,DockerPlugin)
scalaVersion := "2.11.7"
libraryDependencies ++= Seq( jdbc , cache , ws , specs2 % Test )
unmanagedResourceDirectories in Test <+= baseDirectory ( _ /"target/web/public/test" )
resolvers += "scalaz-bintray" at "https://dl.bintray.com/scalaz/releases"
dockerfile in docker := {
val targetDir = "/usr/src"
new Dockerfile {
from("flurdy/activator")
//More goes here
}
}
imageNames in docker := Seq(
// Sets the latest tag
ImageName(s"${name.value}:latest"),
// Sets a name with a tag that contains the project version
ImageName(
namespace = None,
repository = name.value,
tag = Some("v" + version.value)
)
)
这是它在 IntelliJ 中的样子
我也试过将 addSbtPlugin("se.marcuslonnberg" % "sbt-docker" % "1.4.0")
添加到我的 project/plugins.sbt
但我收到关于 DockerPlugin
被导入两次的错误。
~/Sync/Projects/Programming/Personal_Site (master ✘)✹ ᐅ sbt clean
[info] Loading project definition from /home/ryan/Sync/Projects/Programming/Personal_Site/project
/home/ryan/Sync/Projects/Programming/Personal_Site/build.sbt:5: error: reference to DockerPlugin is ambiguous;
it is imported twice in the same scope by
import _root_.sbtdocker.DockerPlugin
and import _root_.com.typesafe.sbt.packager.docker.DockerPlugin
lazy val `personal_site` = (project in file(".")).enablePlugins(PlayScala,DockerPlugin)
尝试将您的 build.sbt
配置更改为此。
lazy val root = (project in file(".")).enablePlugins(sbtdocker.DockerPlugin, PlayScala)
它通过使用 Docker 插件的全名来消除歧义,因为我相信 sbt-native-packager
对其 Docker 插件使用相同的名称。
也许值得向作者的回购提出 Github 问题,以便他们可以在项目文档中记录它。
我正在尝试将 sbt-docker 添加到我的游戏网站的 sbt 构建中,但我 运行 遇到了问题。由于某些原因,底部的docker相关内容的none可以解决。
project/plugins.sbt
logLevel := Level.Warn
resolvers ++= Seq(
"Typesafe repository" at "http://repo.typesafe.com/typesafe/releases/"
)
addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.5.9")
build.sbt
name := "personal_site"
version := "1.1"
lazy val `personal_site` = (project in file(".")).enablePlugins(PlayScala,DockerPlugin)
scalaVersion := "2.11.7"
libraryDependencies ++= Seq( jdbc , cache , ws , specs2 % Test )
unmanagedResourceDirectories in Test <+= baseDirectory ( _ /"target/web/public/test" )
resolvers += "scalaz-bintray" at "https://dl.bintray.com/scalaz/releases"
dockerfile in docker := {
val targetDir = "/usr/src"
new Dockerfile {
from("flurdy/activator")
//More goes here
}
}
imageNames in docker := Seq(
// Sets the latest tag
ImageName(s"${name.value}:latest"),
// Sets a name with a tag that contains the project version
ImageName(
namespace = None,
repository = name.value,
tag = Some("v" + version.value)
)
)
这是它在 IntelliJ 中的样子
我也试过将 addSbtPlugin("se.marcuslonnberg" % "sbt-docker" % "1.4.0")
添加到我的 project/plugins.sbt
但我收到关于 DockerPlugin
被导入两次的错误。
~/Sync/Projects/Programming/Personal_Site (master ✘)✹ ᐅ sbt clean
[info] Loading project definition from /home/ryan/Sync/Projects/Programming/Personal_Site/project
/home/ryan/Sync/Projects/Programming/Personal_Site/build.sbt:5: error: reference to DockerPlugin is ambiguous;
it is imported twice in the same scope by
import _root_.sbtdocker.DockerPlugin
and import _root_.com.typesafe.sbt.packager.docker.DockerPlugin
lazy val `personal_site` = (project in file(".")).enablePlugins(PlayScala,DockerPlugin)
尝试将您的 build.sbt
配置更改为此。
lazy val root = (project in file(".")).enablePlugins(sbtdocker.DockerPlugin, PlayScala)
它通过使用 Docker 插件的全名来消除歧义,因为我相信 sbt-native-packager
对其 Docker 插件使用相同的名称。
也许值得向作者的回购提出 Github 问题,以便他们可以在项目文档中记录它。