Deploy Play 2.1 RC1 Java Application to Heroku Got 'NoSuchMethodError scala.Predef$.augmentString'

StackOverflow https://stackoverflow.com/questions/13813078

  •  07-12-2021
  •  | 
  •  

Frage

This application was migrated from Play 2.0.4. to 2.1-RC1. When push to heroku, I got this error from heroku logs. Should I use a different build pack for Play 2.1?

2012-12-11T03:04:36+00:00 heroku[web.1]: Starting process with command `target/start -Dhttp.port=${PORT} -Dconfig.resource=prod.conf ${JAVA_OPTS}`
2012-12-11T03:04:38+00:00 app[web.1]: Exception in thread "main" java.lang.NoSuchMethodError: scala.Predef$.augmentString(Ljava/lang/String;)Lscala/collection/immutable/StringOps;
2012-12-11T03:04:38+00:00 app[web.1]:   at play.core.server.NettyServer$.createServer(NettyServer.scala:111)
2012-12-11T03:04:38+00:00 app[web.1]:   at play.core.server.NettyServer$$anonfun$main$5.apply(NettyServer.scala:153)
2012-12-11T03:04:38+00:00 app[web.1]:   at play.core.server.NettyServer$$anonfun$main$5.apply(NettyServer.scala:152)
2012-12-11T03:04:38+00:00 app[web.1]:   at scala.Option.map(Option.scala:145)
2012-12-11T03:04:38+00:00 app[web.1]:   at play.core.server.NettyServer$.main(NettyServer.scala:152)
2012-12-11T03:04:38+00:00 app[web.1]:   at play.core.server.NettyServer.main(NettyServer.scala)

Here is my Build.scala.

val appDependencies = Seq(
      javaCore, javaJdbc, javaEbean,
      "org.webjars" % "bootstrap" % "2.1.1",
      "postgresql" % "postgresql" % "9.1-901-1.jdbc4",
      "rome" % "rome" % "1.0",
      "com.typesafe" %% "play-plugins-mailer" % "2.1-SNAPSHOT",

      "commons-codec" % "commons-codec" % "1.6",
      "commons-io" % "commons-io" % "2.3",
      "com.typesafe" % "play-plugins-inject" % "2.0.2",
      "com.typesafe" %% "play-plugins-mailer" % "2.1-SNAPSHOT",
      "com.typesafe.akka" % "akka-testkit" % "2.0.2",
      "org.imgscalr" % "imgscalr-lib" % "4.2",
      "org.codehaus.jackson" % "jackson-jaxrs" % "1.9.5",
      "org.codehaus.jackson" % "jackson-xc" % "1.9.5",
      "org.codehaus.jackson" % "jackson-mapper-asl" % "1.9.5",
      "org.codehaus.jackson" % "jackson-core-asl" % "1.9.5",
      "org.mindrot" % "jbcrypt" % "0.3m"

    )

val main = play.Project(appName, appVersion, appDependencies).settings(
      resolvers += "webjars" at "http://webjars.github.com/m2",
      resolvers += "Mave2" at "http://repo1.maven.org/maven2",
      resolvers += "jets3t" at "http://www.jets3t.org/maven2",
      resolvers += "Typesafe Releases Repository" at "http://repo.typesafe.com/typesafe/releases/",
      resolvers += "Typesafe Snapshots Repository" at "http://repo.typesafe.com/typesafe/snapshots/",
      resolvers += Resolver.url("Typesafe Ivy Snapshots", url("http://repo.typesafe.com/typesafe/ivy-snapshots/"))(Resolver.ivyStylePatterns),
      resolvers += "Daniel's Repository" at "http://danieldietrich.net/repository/snapshots/"
    )
War es hilfreich?

Lösung

For my case, I have to remove this dependency from build.scala

"com.typesafe" % "play-plugins-inject" % "2.0.2"

and remove plugin from play.plugins.

1500:com.typesafe.plugin.inject.ManualInjectionPlugin

This plugin brings in play_2.9 which has dependency on ehcache and causes play to initialize play's cache second time while play_2.10 from Play 2.1 has initialized it already.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top