I’m using the new Play Framework support in Gradle 2.7.
Ironically, Play 2.3.x explicitly depends on org.scala-sbt:io:0.13.8.
Gradle is able to resolve the JAR (not the sources, just the classes) from typesafe’s repository if I add
model {
components {
play {
platform play: "2.3.7", scala: "2.10", java: "1.7"
}
}
}
repositories {
maven {
name "typesafe-maven-release"
url "https://repo.typesafe.com/typesafe/maven-releases"
}
ivy {
name "typesafe-ivy-release"
url "https://repo.typesafe.com/typesafe/ivy-releases"
layout "ivy"
}
}
however it seems that it cannot resolve the io-sources.jar. I get this:
FAILURE: Build failed with an exception.
What went wrong:
Execution failed for task ‘:runPlayBinary’.
Could not find io-sources.jar (org.scala-sbt:io:0.13.8).
Searched in the following locations: JFrog
I actually don’t care about these sources, I just want to avoid this runtime exception when running gradlew runPlay
Execution exception
[RuntimeException: java.lang.NoClassDefFoundError: sbt/Path$]
at play.runsupport.AssetsClassLoader.exists(AssetsClassLoader.scala:26)
at play.runsupport.AssetsClassLoader$$anonfun$findResource$1.isDefinedAt(AssetsClassLoader.scala:20)
Any advice? I can’t seem to figure out how to exclude or resolve the sources dependency.
We have the wrong configuration for the Typesafe Ivy repository in our examples. It seems to use an non-standard layout. Here is an example of a minimal build file for Play 2.3.7 .