2016-04-13 4 views
2

Я пытаюсь запустить приложение play framework (2.1), написанное на Scala, но получающее некоторую ошибку.Ошибка во время выполнения sbt: java.lang.NoClassDefFoundError: scala/StringContext

Мне нужно использовать только Play Framework 2.1. Как и в файле build.sbt, я использую Scala 2.11.7. sbt.version = 0.13.8 находится в файле project/build.properties.

Я установил Play 2.1.0 и изменил свой каталог в корневой каталог приложения, а затем выполнил команду воспроизведения.

я получил следующую ошибку:

java.lang.NoClassDefFoundError: Скала/StringContext

at sbt.CommandStrings$.<init>(CommandStrings.scala:83) 
    at sbt.CommandStrings$.<clinit>(CommandStrings.scala) 
    at sbt.BuiltinCommands$.defaults(Main.scala:202) 
    at sbt.xMain.run(Main.scala:29) 
    at xsbt.boot.Launch$.run(Launch.scala:55) 
    at xsbt.boot.Launch$$anonfun$explicit$1.apply(Launch.scala:45) 
    at xsbt.boot.Launch$.launch(Launch.scala:69) 
    at xsbt.boot.Launch$.apply(Launch.scala:16) 
    at xsbt.boot.Boot$.runImpl(Boot.scala:31) 
    at xsbt.boot.Boot$.main(Boot.scala:20) 
    at xsbt.boot.Boot.main(Boot.scala) 
Caused by: java.lang.ClassNotFoundException: scala.StringContext 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358) 
... 11 more 

Ошибка во время SBT ех enter code here cution: java.lang.NoClassDefFoundError: Скала/StringContext

Может кто-нибудь, пожалуйста, скажите мне, что здесь не так?

Я совершенно новый для scala, и мне просто нужно запустить это приложение как можно скорее. Я использую 64-битную Cent OS 7 (в случае, если кто-то хочет узнать об ОС).

ответ

2

Самый простой способ исправить это, чтобы использовать более старую версию SBT. Играть 2.1.5 использует 0.12.2 по умолчанию, так что вы можете изменить файл project/build.properties внутри вашего проекта и использовать эту версию:

sbt.version=0.12.2 

Вы можете позже попробовать новые версии SBT, если вам нужно.

+0

Он дал мне ошибку: [ошибка] (*: обновление) sbt.ResolveException: неразрешенная зависимость: com.typesafe.play # SBT-плагин ; 2.4.6: не найдено Примечание: Некоторые нерешенные зависимости имеют дополнительные атрибуты. Убедитесь, что эти зависимости существуют с запрошенными атрибутами. com.typesafe.play :sbt-plugin:2.4.6 (sbtVersion = 0.12, scalaVersion = 2.9.2) Можете ли вы сказать мне, что означает выше, означает? Есть ли зависимость между версией scala, sbt.version и sbt-plugins? – Shailesh

+0

@ShaileshTikhe 'sbt-plugin; 2.4.6': вы уверены, что это приложение Play 2.1? Вы используете его с активатором или дистрибутивом Play (команда 'play')? – Salem

1

sbt.version = 0.12.2 не работает с JDK8, поэтому вам может потребоваться понизить Java. Я использовал эту SBT версию и получил следующую ошибку

EROR: Ошибка при загрузке CharSequence, файл класса «/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/rt.jar(java /lang/CharSequence.class)»разбивается на SBT 0.12.2

Смежные вопросы