javacOptions ++= Seq("-source", "1.7", "-target", "1.7")
का उपयोग कर काम नहीं करता है यदि आपके पास जावा स्रोत नहीं हैं।
लेकिन आप build.sbt या Build.scala में स्काला संकलक के लिए लक्ष्य JVM सेट कर सकते हैं:
$ sbt clean run
[info] Set current project to default-cd5534 (in build file:/tmp/so/)
[success] Total time: 0 s, completed 27.10.2013 14:31:43
[info] Updating {file:/tmp/so/}default-cd5534...
[info] Resolving org.fusesource.jansi#jansi;1.4 ...
[info] Done updating.
[info] Compiling 1 Scala source to /tmp/so/target/scala-2.10/classes...
[info] Running Main
[error] (run-main) java.lang.UnsupportedClassVersionError: Main : Unsupported major.minor version 51.0
java.lang.UnsupportedClassVersionError: Main : Unsupported major.minor version 51.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:634)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:277)
at java.net.URLClassLoader.access$000(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:212)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at java.lang.ClassLoader.loadClass(ClassLoader.java:314)
[trace] Stack trace suppressed: run last compile:run for the full output.
java.lang.RuntimeException: Nonzero exit code: 1
at scala.sys.package$.error(package.scala:27)
[trace] Stack trace suppressed: run last compile:run for the full output.
[error] (compile:run) Nonzero exit code: 1
[error] Total time: 4 s, completed 27.10.2013 14:31:47
नोट:
scalacOptions += "-target:jvm-1.7"
एक परिणाम यह एक JDK 6 पर प्रिंट के रूप में: शायद यह केवल नवीनतम एसबीटी/स्केलेक संस्करण के लिए काम करता है।
ठीक है, अगर कोई 1.6 त्रुटि संदेशों पर यह कोड चलाएगा [बहुत व्यापक नहीं होगा] (http://stackoverflow.com/q/10382929/298389)। –
एसबीटी का वह अनुभाग "जावा स्रोतों को संकलित करने के लिए समर्थन" से संबंधित है, लेकिन जिसके लिए जावा वीएम का उपयोग स्कैला द्वारा किया जाता है। वर्तमान में मैं अपने स्कैला प्रोजेक्ट में किसी भी जावा स्रोत को संकलित नहीं कर रहा हूं, मैं सिर्फ उन पुस्तकालयों का उपयोग कर रहा हूं जो jdk6 में उपलब्ध नहीं हैं, और केवल jdk7 –