0
votes

Runtime classpath according to 'show runtime:fullClasspath' contains only target/scala-2.11/classes and ~/.ivy2/cache/org.scala-lang/scala-library/jars/scala-library-2.11.7.jar. compile:fullClasspath contains all libraryDependencies jar locations under ~/.ivy2/cache. Why is this? I am getting java.lang.NoClassDefFoundError on sbt run.

build.sbt:

name := "my-server"

version := "1.0"

scalaVersion := "2.11.7"

libraryDependencies ++= List(
  "com.typesafe.slick" %% "slick" % "3.1.0" % "provided",
  "com.twitter.finatra" %% "finatra-http" % "2.1.0" % "provided",
  "com.roundeights" %% "hasher" % "1.2.0" % "provided",
  "com.twitter" %% "util-logging" % "6.29.0" % "provided"
)

resolvers +=
  "Twitter" at "http://maven.twttr.com"

resolvers ++= Seq("RoundEights" at "http://maven.spikemark.net/roundeights")

sbt run results:

Exception in thread "main" java.lang.NoClassDefFoundError: com/twitter/logging/Logger

sbt version 0.13.8

1

1 Answers

0
votes

Removing "provided" was the fix here - I was using it incorrectly to resolve ambiguous subversions of dependencies (credit to pfn from freenode #scala)