2013-10-23 33 views
1

我正在將play2.0應用遷移到play2.1,其中有很多scalaquery實現。所有遷移改變其最終編譯(不使用anorm)時,scalaqueries仍然存在。ScalaQuery with play2.1.4

發揮編譯階段是成功的,但它給予以下錯誤

java.lang.NoClassDefFoundError: scala/Right 

org.scalaquery.ql.basic.BasicImplicitConversions$class.queryToQueryInvoker(BasicImplicitConversions.scala:26) 

org.scalaquery.ql.extended.MySQLDriver$$anon$1.queryToQueryInvoker(MySQLDriver.scala:13) 

models.SynonymMappings$$anonfun$updateCommonSynonymMappingTable$1.apply(SynonymMapping.scala:234) 

models.SynonymMappings$$anonfun$updateCommonSynonymMappingTable$1.apply(SynonymMapping.scala:224) 

org.scalaquery.session.Database.withSession(Database.scala:38) 

models.SynonymMappings$.updateCommonSynonymMappingTable(SynonymMapping.scala:224) 

Global$.onStart(Global.scala:48) 

play.api.GlobalPlugin.onStart(GlobalSettings.scala:175) 

play.api.Play$$anonfun$start$1$$anonfun$apply$mcV$sp$1.apply(Play.scala:85) 

play.api.Play$$anonfun$start$1$$anonfun$apply$mcV$sp$1.apply(Play.scala:85) 

scala.collection.immutable.List.foreach(List.scala:309) 

play.api.Play$$anonfun$start$1.apply$mcV$sp(Play.scala:85) 

play.api.Play$$anonfun$start$1.apply(Play.scala:85) 

play.api.Play$$anonfun$start$1.apply(Play.scala:85) 

play.utils.Threads$.withContextClassLoader(Threads.scala:18) 

play.api.Play$.start(Play.scala:84) 

SynonymMappings.scala 這是我收到的錯誤

 def updateCommonSynonymMappingTable = database.withSession { implicit db: Session => 

val q = for (m <- SynonymMappings) yield m.skill ~ m.synonyms ~ m.function ~ m.industry 
Logger.debug("Q for getting common syn mapping: " + q.selectStatement) 

var table: java.util.concurrent.ConcurrentHashMap[String, scala.Array[String]] = EfoundrySynonymEngine.getCommonSynonymMappingTable() 

var i = 0 
Logger.debug("Q for getting common syn mapping: " + q.selectStatement) 
var domainSpWords = 0 

形式此行跡去org.scalaquery。 session.Database.withSession

+0

u能請把其中U嘗試代碼? –

+0

@krish請檢查你是否需要更多的代碼我不是abe來解決這個問題 – vipin

回答

0

從Play Framework 2.1起,ScalaQuery已被棄用,因爲它與Play Framework 2.0一起僅支持Sca la 2.9。

Play Framework 2.1支持Scala 2.10。 ScalaQuery的替代品是Slick,它也支持/需要Scala 2.10。

油滑網站:http://slick.typesafe.com/

這是個更酷的網站,所以你應該感到高興。

因此,在您的Web應用程序中包含該庫並擺脫ScalaQuery,這應該可以幫助您一起完成遷移工作。

如果你很好奇,沒有發現錯誤類是因爲scala.Right現在scala.util.Right :)