2014-11-01 7 views
14

Ho scritto un programma Scala con IDE di Eclipse Scala che utilizza scala.util.parsing.JSON e vorrei trasformarlo per supportare la versione di Scala 2.11. In Scala 2.11 viene visualizzato un messaggio di errore: error: object parsing is not a member of package util. Ho scoperto che la libreria di analisi non è più nel pacchetto util per impostazione predefinita, ma deve essere downloaded separately here.Uso di util.parsing in Scala 2.11

L'ho scaricato e ho provato ad aggiungerlo al mio progetto Eclipse come una nuova cartella sorgente, ma non ha funzionato. Le istruzioni servono solo per aggiungerlo a sbt, ma non penso che sia rilevante per me se voglio usarlo solo in Eclipse.

Devo provare a trovare un file JAR da qualche parte?

risposta

22

Should I try to find a JAR file somewhere?

Sì, dovresti. :)

E in particolare, è necessario utilizzare questo (nella sintassi SBT):

libraryDependencies += "org.scala-lang.modules" %% "scala-parser-combinators" % "1.0.2" 

La linea di cui sopra dovrebbe essere tutto ciò che serve per aggiungere al build.sbt se si sta utilizzando SBT. Se vuoi aggiungerlo manualmente al tuo progetto scaricandolo, lo puoi trovare su Maven Central.

La libreria scala-parser-combinatori è stata rimossa in 2.11 in modo che le persone che non la usano non debbano pagare un prezzo per averla nella libreria runtime scala. Di conseguenza, le persone che vogliono usarlo devono ora includerlo esplicitamente nella loro build. Si noti che la libreria XML è stata rimossa in modo simile nella 2.11 nella propria libreria.

+0

Grazie! Ho aggiunto il file jar dal link che hai fornito ad Eclipse e l'ho aggiunto al percorso di build. Quindi ha iniziato a funzionare. –

+0

Prego. Dovresti controllare sbt per le tue build di scala. Una volta che ci si abitua, è abbastanza veloce e flessibile. –

+0

Qualcuno sa come risolvere questo problema in IntelliJ14, utilizzando un progetto semplice, non SBT? Sto riaprendo un progetto intellij su un altro computer dopo che la stessa directory (di rete) ha funzionato su un altro. – cloudsurfin