2014-04-27 37 views
7

sto cercando di eseguire un clone del progetto di gioco che ho ricevuto da git clone https://github.com/djonmayer/play21-osm.gitDurante l'esecuzione di "play" java.lang.NoSuchMethodError verifica

ho giocare la versione 2.2.2 e la versione 2.10.4 scala installata .

Quando digito giocare nella directory che i cloni del progetto per ottenere il seguente errore:

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; 

Questo è vero se corro play clean. Ho letto che questo potrebbe essere un problema di dipendenze, quindi ho provato ad aggiungere la riga alla sezione play.Project.settings di Build.scala e separatamente in un file build.sbt. Non ha funzionato.

risposta

1

Questo tipo di problema è spesso si riferiscono a due simili prolbem:

  • manca vaso con stessa classe
  • stessa classe in vaso multipla

in modo da controllare se Scala e giocare la versione sono compatibili e se hai incluso un jar che contiene già la classe con metodo mancante.

+0

Per raggiungere questo obiettivo, se non ancora fatto, potresti provare a eseguire il progetto con la versione originale? Una volta che lo saprai, potresti provare a eseguire il porting sulla nuova versione di framework. – zeppaman

+0

Ho anche cercato per simile issuse, ma ho trovato solo che http://stackoverflow.com/q/20644948/3559251, dove @ La-comadreja risolto gestendo le classi sul classpath – zeppaman

+0

avevo visto quel thread ma non capisco quello che devo fare dalla risposta "La soluzione era mettere la classe in questione nel percorso di classe". –

8

Ho provato a mettere questo in un commento ma era illeggibile.

Grazie, zeppaman. Sembra che questo problema abbia a che fare con l'esecuzione di un progetto Play Framework creato in una versione precedente di Play. Guardando un altro progetto che si era impegnato per l'aggiornamento a una nuova versione di gioco, ho apportato le seguenti modifiche.

In build.properties:

sbt.version=0.12.2 

divennero:

sbt.version=0.13.0 

In plugins.sbt:

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

divennero:

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

Questo mi ha permesso di arrivare a giocare aggiornamento poi getta gli errori:

[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 

ho cambiare la linea in Build.scala:

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

divennero:

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

EXTRA: Ciò cambia l'errore in:

[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 

UPDATE: Risolto dipendenza irrisolta

Il problema delle dipendenze irrisolte sembra che potrebbe essere stato a causa dei miei locali repository SBT/edera venire corrotto.Vedi unresolved dependency: com.typesafe.play#play-slick_2.10;0.6.0.1: not found

+0

play-slick non è presente nella posizione in cui si trova http://repo.typesafe.com/typesafe/releases/com/typesafe/play/ Qualcuno sa dove dovrebbe essere la ricerca di play-slick? –

+0

grazie per le informazioni. Il gioco sembra essere troppo buggato. La versione fragilità sta arrivando a me. – Jus12

Problemi correlati