0
votes

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)

1

1 Answers

0
votes

Please make sure you check the scala version. In the link it tries to download 2.10 version of the library which doesn't exist, while the 2.12 one does.