Im trying to build the simplest play ontop of docker, and failing to do so.
The application runs just fine on Intelij but when building the docker file - while resolving sbt dependencies - it fails to resolve com.typesafe.play:sbt-plugin:2.6.20
I've found that the link that the sbt tries to resolve is not up, and actually seems abit of: https://repo1.maven.org/maven2/com/typesafe/play/sbt-plugin_2.10_0.13/2.6.20/sbt-plugin-2.6.20.pom
While if you search the repository tree you could find: https://repo1.maven.org/maven2/com/typesafe/play/play_2.12/2.6.20/play_2.12-2.6.20.pom
Also I've seen in InteliJ's build log that it resolves from here: https://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/
Including build log for
server_1_5b1cd8eac7c5 | [info] Loading project definition from /app-src/project
server_1_5b1cd8eac7c5 | [info] Set current project to app-src (in build file:/app-src/)
server_1_5b1cd8eac7c5 | [warn] module not found: com.typesafe.play#sbt-plugin;2.6.20
server_1_5b1cd8eac7c5 | [warn] ==== local: tried
server_1_5b1cd8eac7c5 | [warn] /root/.ivy2/local/com.typesafe.play/sbt-plugin/scala_2.10/sbt_0.13/2.6.20/ivys/ivy.xml
server_1_5b1cd8eac7c5 | [warn] ==== public: tried
server_1_5b1cd8eac7c5 | [warn] https://repo1.maven.org/maven2/com/typesafe/play/sbt-plugin_2.10_0.13/2.6.20/sbt-plugin-2.6.20.pom
server_1_5b1cd8eac7c5 | [warn] ==== local-preloaded-ivy: tried
server_1_5b1cd8eac7c5 | [warn] /root/.sbt/preloaded/com.typesafe.play/sbt-plugin/2.6.20/ivys/ivy.xml
server_1_5b1cd8eac7c5 | [warn] ==== local-preloaded: tried
server_1_5b1cd8eac7c5 | [warn] file:////root/.sbt/preloaded/com/typesafe/play/sbt-plugin_2.10_0.13/2.6.20/sbt-plugin-2.6.20.pom
server_1_5b1cd8eac7c5 | [warn] ::::::::::::::::::::::::::::::::::::::::::::::
server_1_5b1cd8eac7c5 | [warn] :: UNRESOLVED DEPENDENCIES ::
server_1_5b1cd8eac7c5 | [warn] ::::::::::::::::::::::::::::::::::::::::::::::
server_1_5b1cd8eac7c5 | [warn] :: com.typesafe.play#sbt-plugin;2.6.20: not found
server_1_5b1cd8eac7c5 | [warn] ::::::::::::::::::::::::::::::::::::::::::::::
server_1_5b1cd8eac7c5 | [warn]
server_1_5b1cd8eac7c5 | [warn] Note: Some unresolved dependencies have extra attributes. Check that these dependencies exist with the requested attributes.
server_1_5b1cd8eac7c5 | [warn] com.typesafe.play:sbt-plugin:2.6.20 (scalaVersion=2.10, sbtVersion=0.13)
server_1_5b1cd8eac7c5 | [warn]
server_1_5b1cd8eac7c5 | [warn] Note: Unresolved dependencies path:
server_1_5b1cd8eac7c5 | [warn] com.typesafe.play:sbt-plugin:2.6.20 (scalaVersion=2.10, sbtVersion=0.13) (/app-src/plugins.sbt#L4-5)
server_1_5b1cd8eac7c5 | [warn] +- default:app-src_2.10:0.1-SNAPSHOT
server_1_5b1cd8eac7c5 | sbt.ResolveException: unresolved dependency: com.typesafe.play#sbt-plugin;2.6.20: not found
server_1_5b1cd8eac7c5 | at sbt.IvyActions$.sbt$IvyActions$$resolve(IvyActions.scala:320)
server_1_5b1cd8eac7c5 | at sbt.IvyActions$$anonfun$updateEither$1.apply(IvyActions.scala:191)
server_1_5b1cd8eac7c5 | at sbt.IvyActions$$anonfun$updateEither$1.apply(IvyActions.scala:168)
server_1_5b1cd8eac7c5 | at sbt.IvySbt$Module$$anonfun$withModule$1.apply(Ivy.scala:156)
server_1_5b1cd8eac7c5 | at sbt.IvySbt$Module$$anonfun$withModule$1.apply(Ivy.scala:156)
server_1_5b1cd8eac7c5 | at sbt.IvySbt$$anonfun$withIvy$1.apply(Ivy.scala:133)
server_1_5b1cd8eac7c5 | at sbt.IvySbt.sbt$IvySbt$$action$1(Ivy.scala:57)
server_1_5b1cd8eac7c5 | at sbt.IvySbt$$anon$4.call(Ivy.scala:65)
server_1_5b1cd8eac7c5 | at xsbt.boot.Locks$GlobalLock.withChannel$1(Locks.scala:93)
server_1_5b1cd8eac7c5 | at xsbt.boot.Locks$GlobalLock.xsbt$boot$Locks$GlobalLock$$withChannelRetries$1(Locks.scala:78)
server_1_5b1cd8eac7c5 | at xsbt.boot.Locks$GlobalLock$$anonfun$withFileLock$1.apply(Locks.scala:97)
server_1_5b1cd8eac7c5 | at xsbt.boot.Using$.withResource(Using.scala:10)
server_1_5b1cd8eac7c5 | at xsbt.boot.Using$.apply(Using.scala:9)
server_1_5b1cd8eac7c5 | at xsbt.boot.Locks$GlobalLock.ignoringDeadlockAvoided(Locks.scala:58)
server_1_5b1cd8eac7c5 | at xsbt.boot.Locks$GlobalLock.withLock(Locks.scala:48)
server_1_5b1cd8eac7c5 | at xsbt.boot.Locks$.apply0(Locks.scala:31)
server_1_5b1cd8eac7c5 | at xsbt.boot.Locks$.apply(Locks.scala:28)
server_1_5b1cd8eac7c5 | at sbt.IvySbt.withDefaultLogger(Ivy.scala:65)
server_1_5b1cd8eac7c5 | at sbt.IvySbt.withIvy(Ivy.scala:128)
server_1_5b1cd8eac7c5 | at sbt.IvySbt.withIvy(Ivy.scala:125)
server_1_5b1cd8eac7c5 | at sbt.IvySbt$Module.withModule(Ivy.scala:156)
server_1_5b1cd8eac7c5 | at sbt.IvyActions$.updateEither(IvyActions.scala:168)
server_1_5b1cd8eac7c5 | at sbt.Classpaths$$anonfun$sbt$Classpaths$$work$1$1.apply(Defaults.scala:1555)
server_1_5b1cd8eac7c5 | at sbt.Classpaths$$anonfun$sbt$Classpaths$$work$1$1.apply(Defaults.scala:1551)
server_1_5b1cd8eac7c5 | at sbt.Classpaths$$anonfun$doWork$1$1$$anonfun$122.apply(Defaults.scala:1586)
server_1_5b1cd8eac7c5 | at sbt.Classpaths$$anonfun$doWork$1$1$$anonfun$122.apply(Defaults.scala:1584)
server_1_5b1cd8eac7c5 | at sbt.Tracked$$anonfun$lastOutput$1.apply(Tracked.scala:37)
server_1_5b1cd8eac7c5 | at sbt.Classpaths$$anonfun$doWork$1$1.apply(Defaults.scala:1589)
server_1_5b1cd8eac7c5 | at sbt.Classpaths$$anonfun$doWork$1$1.apply(Defaults.scala:1583)
server_1_5b1cd8eac7c5 | at sbt.Tracked$$anonfun$inputChanged$1.apply(Tracked.scala:60)
server_1_5b1cd8eac7c5 | at sbt.Classpaths$.cachedUpdate(Defaults.scala:1606)
server_1_5b1cd8eac7c5 | at sbt.Classpaths$$anonfun$updateTask$1.apply(Defaults.scala:1533)
server_1_5b1cd8eac7c5 | at sbt.Classpaths$$anonfun$updateTask$1.apply(Defaults.scala:1485)
server_1_5b1cd8eac7c5 | at scala.Function1$$anonfun$compose$1.apply(Function1.scala:47)
server_1_5b1cd8eac7c5 | at sbt.$tilde$greater$$anonfun$$u2219$1.apply(TypeFunctions.scala:40)
server_1_5b1cd8eac7c5 | at sbt.std.Transform$$anon$4.work(System.scala:63)
server_1_5b1cd8eac7c5 | at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:228)
server_1_5b1cd8eac7c5 | at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:228)
server_1_5b1cd8eac7c5 | at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:17)
server_1_5b1cd8eac7c5 | at sbt.Execute.work(Execute.scala:237)
server_1_5b1cd8eac7c5 | at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:228)
server_1_5b1cd8eac7c5 | at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:228)
server_1_5b1cd8eac7c5 | at sbt.ConcurrentRestrictions$$anon$4$$anonfun$1.apply(ConcurrentRestrictions.scala:159)
server_1_5b1cd8eac7c5 | at sbt.CompletionService$$anon$2.call(CompletionService.scala:28)
server_1_5b1cd8eac7c5 | at java.util.concurrent.FutureTask.run(FutureTask.java:266)
server_1_5b1cd8eac7c5 | at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
server_1_5b1cd8eac7c5 | at java.util.concurrent.FutureTask.run(FutureTask.java:266)
server_1_5b1cd8eac7c5 | at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
server_1_5b1cd8eac7c5 | at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
server_1_5b1cd8eac7c5 | at java.lang.Thread.run(Thread.java:748)
server_1_5b1cd8eac7c5 | [error] (*:update) sbt.ResolveException: unresolved dependency: com
Includin both build.sbt and plugins.sbt (mostly as they were with the intelij play boiler project):
build.sbt:
name := "intro"
version := "1.0"
lazy val `intro` = (project in file(".")).enablePlugins(PlayScala)
resolvers += "scalaz-bintray" at "https://dl.bintray.com/scalaz/releases"
resolvers += "Akka Snapshot Repository" at "http://repo.akka.io/snapshots/"
scalaVersion := "2.12.6"
libraryDependencies ++= Seq( jdbc , ehcache , ws , specs2 % Test , guice)
libraryDependencies += "org.mongodb.scala" %% "mongo-scala-driver" % "2.5.0"
unmanagedResourceDirectories in Test <+= baseDirectory ( _ /"target/web/public/test" )
plugins.sbt
logLevel := Level.Warn
addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.6.20")
Note that I've tried hell of alot revolvers to that I've found around the net and with no luck.
note2: with boths sbt's mentioned the Intelij project plays just fine
btw, if the docker file is of any interest it could be found here: https://github.com/levgou/table-handler/blob/master/intro_server/Dockerfile
EDIT: the problem was, me not copying the build.sbt into my docker dir, and it finding some other .sbt that was there by mistake (silly me)