2014-04-27 4 views
7

Je suis en train de lancer un clone du projet de jeu que je suis arrivé du clone git https://github.com/djonmayer/play21-osm.gitLors de l'exécution « jouer » java.lang.NoSuchMethodError se produit

J'ai la version de jeu 2.2.2 et version 2.10.4 installée scala .

Lorsque je tape jouer dans le répertoire que les clones de projet à je reçois l'erreur suivante:

java.lang.NoSuchMethodError: scala.Predef$.augmentString(Ljava/lang/String;)Lscala/collection/immutable/StringOps; 
    at sbt.ConsoleLogger$.<init>(ConsoleLogger.scala:129) 
    at sbt.ConsoleLogger$.<clinit>(ConsoleLogger.scala) 
    at sbt.StandardMain$.<init>(Main.scala:52) 
    at sbt.StandardMain$.<clinit>(Main.scala) 
    at sbt.xMain.run(Main.scala:26) 
    at xsbt.boot.Launch$$anonfun$run$1.apply(Launch.scala:57) 
    at xsbt.boot.Launch$.withContextLoader(Launch.scala:77) 
    at xsbt.boot.Launch$.run(Launch.scala:57) 
    at xsbt.boot.Launch$$anonfun$explicit$1.apply(Launch.scala:45) 
    at xsbt.boot.Launch$.launch(Launch.scala:65) 
    at xsbt.boot.Launch$.apply(Launch.scala:16) 
    at xsbt.boot.Boot$.runImpl(Boot.scala:32) 
    at xsbt.boot.Boot$.main(Boot.scala:21) 
    at xsbt.boot.Boot.main(Boot.scala) 
Error during sbt execution: java.lang.NoSuchMethodError: scala.Predef$.augmentString(Ljava/lang/String;)Lscala/collection/immutable/StringOps; 

Cela est vrai si je lance play clean. J'ai lu ceci peut être un problème de dépendances donc j'ai essayé d'ajouter la ligne scalaVersion := "2.10.4" à la section play.Project.settings de Build.scala et séparément dans un fichier build.sbt. Ça n'a pas marché.

Répondre

1

Ce genre de problème est souvent liée à deux prolbem similaires:

  • pot manquant avec la même classe
  • même classe en pot multiple

de vérifier si scala et la version Play sont compatibles et si vous avez inclus un jar qui contient déjà la classe avec la méthode manquante.

+0

Pour ce faire, si cela n'a pas encore été fait, pourriez-vous essayer d'exécuter le projet avec la version originale? Une fois que vous le savez, vous pouvez essayer de faire un portage vers la nouvelle version de framework. – zeppaman

+0

Je recherche aussi des issuse similaires, mais j'ai trouvé seulement que http://stackoverflow.com/q/20644948/3559251, où @ La-comadreja a résolu en gérant des classes sur classpath – zeppaman

+0

J'avais vu ce fil mais je ne comprends pas ce que je dois faire de la réponse, "La solution était de mettre la classe pertinente dans le chemin de la classe." –

8

J'ai essayé de mettre ceci dans un commentaire mais c'était illisible.

Merci, zeppaman. Il semble que ce problème concerne l'exécution d'un projet Play Framework créé dans une ancienne version de Play. En regardant un autre projet qui s'est engagé à passer à une nouvelle version de jeu, j'ai apporté les modifications suivantes.

En build.properties:

sbt.version=0.12.2 

est devenu:

sbt.version=0.13.0 

En plugins.sbt:

addSbtPlugin("play" % "sbt-plugin" % "2.1.1") 

est devenu:

addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.2.2") 

Cela m'a permis d'apprendre à jouer la mise à jour jette alors les erreurs:

[error] Modules were resolved with conflicting cross-version suffixes in {file:/Users/michaelrichardson/Documents/Play/play21-osm/}play21-osm: 
[error] org.scala-stm:scala-stm _2.10, _2.10.0 
[trace] Stack trace suppressed: run last *:update for the full output. 
[error] (*:update) Conflicting cross-version suffixes in: org.scala-stm:scala-stm 

je change la ligne Build.scala:

"com.typesafe.play" %% "play-slick" % "0.3.2" 

est devenu:

"com.typesafe.play" %% "play-slick" % "0.5.0.2-SNAPSHOT" 

EXTRA: Cela change l'erreur à:

[info] Resolving com.typesafe.play#play-slick_2.10;0.5.0.2-SNAPSHOT ... 
[warn] module not found: com.typesafe.play#play-slick_2.10;0.5.0.2-SNAPSHOT 
[warn] ==== Typesafe Releases Repository: tried 
[warn] http://repo.typesafe.com/typesafe/releases/com/typesafe/play/play-slick_2.10/0.5.0.2-SNAPSHOT/play-slick_2.10-0.5.0.2-SNAPSHOT.pom 
[info] Resolving org.fusesource.jansi#jansi;1.4 ... 
[warn] :::::::::::::::::::::::::::::::::::::::::::::: 
[warn] ::   UNRESOLVED DEPENDENCIES   :: 
[warn] :::::::::::::::::::::::::::::::::::::::::::::: 
[warn] :: com.typesafe.play#play-slick_2.10;0.5.0.2-SNAPSHOT: not found 
[warn] :::::::::::::::::::::::::::::::::::::::::::::: 
[trace] Stack trace suppressed: run last *:update for the full output. 
[error] (*:update) sbt.ResolveException: unresolved dependency: com.typesafe.play#play-slick_2.10;0.5.0.2-SNAPSHOT: not found 

MISE À JOUR: Résolu dépendance non résolue

Le problème des dépendances non résolues, il semble que peut-être dû à mes dépôts SBT/lierre locaux se corrompus.Voir unresolved dependency: com.typesafe.play#play-slick_2.10;0.6.0.1: not found

+0

play-slick n'est pas présent à l'emplacement où est recherché http://repo.typesafe.com/typesafe/releases/com/typesafe/play/ Est-ce que quelqu'un sait où il devrait rechercher play-slick? –

+0

merci pour l'info. Le jeu semble être trop bogué. La version fragilité me parvient. – Jus12

Questions connexes