2012-05-09 14 views
5

मेरे पास एक प्ले प्रोजेक्ट है। दुर्भाग्य से मैं कुछ केस कक्षाओं को निराश कर रहा हूं जिन्हें स्कैला 2.9.2 का उपयोग करके क्रमबद्ध किया गया था। चूंकि play 2.9.1 का उपयोग करता है, इसलिए एक अवैध क्लास अपवाद है।प्ले के साथ स्कैला 2.9.2 का उपयोग करना?

Caused by: java.io.InvalidClassException: scala.Option; local class incompatible: stream classdesc serialVersionUID = 2832403187243187948, local class serialVersionUID = 7113474029577970182 

क्या स्कैला 2.9.2 का उपयोग करने के लिए खेल को मजबूर करना संभव है? नाटक परियोजना विन्यास बहुत जादुई कर रहा प्रतीत होता है। projects/Build.scala में बहुत कुछ नहीं है।

import sbt._ 
import Keys._ 
import PlayProject._ 

object ApplicationBuild extends Build { 
    val appName   = "myproj" 
    val appVersion  = "1.0-SNAPSHOT" 
} 

2.9.2 के बाद से बाइनरी 2.9.1 के साथ संगत है मैं इसे इस्तेमाल किया जा करने के लिए मजबूर करने में सक्षम होना चाहिए - लेकिन मैं कैसे करने के लिए पता नहीं है!

अद्यतन: एक निर्भरता के रूप में स्केला 2.9.2 जोड़ने मुझे निम्न त्रुटि देता है।

[error] {file:/home/schmmd/repo/openie-demo/}openiedemo/*:update: Version specified for dependency org.scala-lang#scala-lang;2.9.2 differs from Scala version in project (2.9.1). 

उत्तर

1

वहाँ खेलने 2.0.4 स्काला के साथ संगत के लिए कोई एसबीटी प्लगइन है 2.9.2 के रूप में खेलने 2.0.4 एसबीटी 0.11 पर बनाया गया था अद्यतन करने के लिए। एक्स। प्ले! एसबीटी 0.12.एक्स का उपयोग करके स्कैला 2.9.2 में अपग्रेड किया गया और इसने स्काला 2.9.2

का उपयोग करने के लिए Play 2.0.4 की पिछली संगतता तोड़ दी, हालांकि, स्कैला 2.9.3 के लिए बैक पोर्ट है। Play 2.0.4 एसबीटी प्लगइन का उपयोग करने के लिए अपनी बिल्ड फ़ाइल में 2.9.3 पर अपना स्केलवर्सन बदलें।

1

आप एसबीटी में स्कैला संस्करण बदल सकते हैं। सुनिश्चित नहीं है कि अभी तक 2.9.2 के लिए एसबीटी प्लगइन है या नहीं।

How to change Scala version for sbt project?

+0

मैं प्रकाश विन्यास का उपयोग नहीं कर रहा हूं। का उपयोग करते हुए 'सेट build.scala.version 2.9.2' एक त्रुटि देता है:' EOF की उम्मीद है, लेकिन डबल शाब्दिक found.' – schmmd

+0

आप एक खाली पंक्ति – user847988

7

कोशिश अपने Build.scala

object ApplicationBuild extends Build { 

    val appDependencies = Seq(
     // Add your project dependencies here, 
     "org.scala-lang" % "scala-compiler" % "2.9.2", 
     ... 
    ) 

    val main = PlayProject(appName, appVersion, appDependencies, mainLang = SCALA).setting(
     // Add your own project settings here 
     scalaVersion := "2.9.2" 
    ) 
} 
+0

साथ सेटिंग को अलग करने की जरूरत है यह वास्तव में काम करता है? मैं अभी कोशिश कर रहा हूं, लेकिन मुझे 'अनसुलझे निर्भरताएं खेलें # play_2.9.2; 2.0.2: नहीं मिला' – Andrea

+1

नहीं, ऐसा नहीं है। इसका कारण यह है कि मेवेन में प्ले के लिए कोई स्कैला-2.9.2 बिल्ड नहीं है (प्ले 2.10 स्नैपशॉट्स को छोड़कर)। दो विकल्प: संकलित स्वयं को चलाएं या एक बग रिपोर्ट दर्ज करें ताकि वे ऐसा निर्माण प्रदान कर सकें। – jsalvata

+1

मैंने अभी ऐसी बग रिपोर्ट दायर की है - देखते हैं कि यह कैसे निकलता है: https://play.lighthouseapp.com/projects/82401-play-20/tickets/837 – jsalvata

संबंधित मुद्दे